summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/swr/rasterizer/jitter/blend_jit.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/swr/rasterizer/jitter/blend_jit.h')
-rw-r--r--src/gallium/drivers/swr/rasterizer/jitter/blend_jit.h129
1 files changed, 0 insertions, 129 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/blend_jit.h b/src/gallium/drivers/swr/rasterizer/jitter/blend_jit.h
deleted file mode 100644
index 3e78054eced..00000000000
--- a/src/gallium/drivers/swr/rasterizer/jitter/blend_jit.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
- * Copyright (C) 2014-2015 Intel Corporation. All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * @file blend_jit.h
- *
- * @brief Definition of the blend jitter
- *
- * Notes:
- *
- ******************************************************************************/
-#pragma once
-
-#include "common/formats.h"
-#include "core/state.h"
-
-struct RENDER_TARGET_BLEND_COMPILE_STATE
-{
- bool blendEnable;
- bool logicOpEnable;
- SWR_BLEND_FACTOR sourceAlphaBlendFactor;
- SWR_BLEND_FACTOR destAlphaBlendFactor;
- SWR_BLEND_FACTOR sourceBlendFactor;
- SWR_BLEND_FACTOR destBlendFactor;
- SWR_BLEND_OP colorBlendFunc;
- SWR_BLEND_OP alphaBlendFunc;
- SWR_LOGIC_OP logicOpFunc;
-};
-
-enum ALPHA_TEST_FORMAT
-{
- ALPHA_TEST_UNORM8,
- ALPHA_TEST_FLOAT32
-};
-
-//////////////////////////////////////////////////////////////////////////
-/// BLEND_DESC
-//////////////////////////////////////////////////////////////////////////
-struct BLEND_DESC
-{
- union
- {
- struct
- {
- uint32_t alphaTestEnable : 1;
- uint32_t independentAlphaBlendEnable : 1;
- uint32_t alphaToCoverageEnable : 1;
- uint32_t oMaskEnable : 1;
- uint32_t inputCoverageEnable : 1;
- uint32_t sampleMaskEnable : 1;
- uint32_t numSamples : 5;
- uint32_t _reserved : 21;
- };
- uint32_t bits;
- };
-};
-#define BLEND_ENABLE_MASK 0x3D // a2c | oMaskEnable | inputCoverageEnable | sampleMaskEnable
-//////////////////////////////////////////////////////////////////////////
-/// State required for blend jit
-//////////////////////////////////////////////////////////////////////////
-struct BLEND_COMPILE_STATE
-{
- SWR_FORMAT format; // format of render target being blended
- RENDER_TARGET_BLEND_COMPILE_STATE blendState;
- BLEND_DESC desc;
-
- SWR_ZFUNCTION alphaTestFunction;
- ALPHA_TEST_FORMAT alphaTestFormat;
-
- bool operator==(const BLEND_COMPILE_STATE& other) const
- {
- return memcmp(this, &other, sizeof(BLEND_COMPILE_STATE)) == 0;
- }
-
- // Canonicalize state to reduce unnecessary JIT compiles
- void Canonicalize()
- {
- if (!desc.alphaTestEnable)
- {
- alphaTestFormat = (ALPHA_TEST_FORMAT)0;
- alphaTestFunction = (SWR_ZFUNCTION)0;
- }
-
- if (!blendState.blendEnable)
- {
- blendState.sourceAlphaBlendFactor = (SWR_BLEND_FACTOR)0;
- blendState.destAlphaBlendFactor = (SWR_BLEND_FACTOR)0;
- blendState.sourceBlendFactor = (SWR_BLEND_FACTOR)0;
- blendState.destBlendFactor = (SWR_BLEND_FACTOR)0;
- blendState.colorBlendFunc = (SWR_BLEND_OP)0;
- blendState.alphaBlendFunc = (SWR_BLEND_OP)0;
- }
-
- if (!blendState.logicOpEnable)
- {
- blendState.logicOpFunc = (SWR_LOGIC_OP)0;
- }
-
- if (!blendState.blendEnable && !blendState.logicOpEnable)
- {
- format = (SWR_FORMAT)0;
- }
-
- if (!desc.independentAlphaBlendEnable)
- {
- blendState.sourceAlphaBlendFactor = (SWR_BLEND_FACTOR)0;
- blendState.destAlphaBlendFactor = (SWR_BLEND_FACTOR)0;
- blendState.alphaBlendFunc = (SWR_BLEND_OP)0;
- }
- }
-};