diff options
author | Tim Rowley <[email protected]> | 2017-09-12 13:38:31 -0500 |
---|---|---|
committer | Tim Rowley <[email protected]> | 2017-09-25 13:38:57 -0500 |
commit | efe7fa4384f89ba909c7a5a303658a6442f4f787 (patch) | |
tree | 1ed4cc6f8b37c1afde86e66031ac267791b3a204 /src/gallium/drivers/swr | |
parent | cd6e91d3a2012d2177732f27795e66c8c38e0aba (diff) |
swr/rast: Fetch compile state changes
Add ForceSequentialAccessEnable and InstanceIDOffsetEnable bools to
FETCH_COMPILE_STATE.
Reviewed-by: Bruce Cherniak <[email protected]>
Diffstat (limited to 'src/gallium/drivers/swr')
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp | 6 | ||||
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.h | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp index f3a4b27d9a9..906129829c8 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp +++ b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp @@ -275,6 +275,12 @@ Function* FetchJit::Create(const FETCH_COMPILE_STATE& fetchState) : JitGatherVertices(fetchState, streams, vIndices, pVtxOut); #endif + if (fetchState.bInstanceIDOffsetEnable) + { + // TODO: + SWR_ASSERT((0), "Add support for handling InstanceID Offset Enable."); + } + RET_VOID(); JitManager::DumpToFile(fetch, "src"); diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.h b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.h index 0dd6de759ad..18fa96357b8 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.h +++ b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.h @@ -107,6 +107,9 @@ struct FETCH_COMPILE_STATE bool bVertexIDOffsetEnable{ false }; // Offset vertexID by StartVertex for non-indexed draws or BaseVertex for indexed draws bool bPartialVertexBuffer{ false }; // for indexed draws, map illegal indices to a known resident vertex + bool bForceSequentialAccessEnable{ false }; + bool bInstanceIDOffsetEnable{ false }; + FETCH_COMPILE_STATE(bool disableVGATHER = false, bool diableIndexOOBCheck = false): bDisableVGATHER(disableVGATHER), bDisableIndexOOBCheck(diableIndexOOBCheck){ }; @@ -120,11 +123,13 @@ struct FETCH_COMPILE_STATE if (cutIndex != other.cutIndex) return false; if (bVertexIDOffsetEnable != other.bVertexIDOffsetEnable) return false; if (bPartialVertexBuffer != other.bPartialVertexBuffer) return false; + if (bForceSequentialAccessEnable != other.bForceSequentialAccessEnable) return false; + if (bInstanceIDOffsetEnable != other.bInstanceIDOffsetEnable) return false; for(uint32_t i = 0; i < numAttribs; ++i) { if((layout[i].bits != other.layout[i].bits) || - ((layout[i].InstanceEnable == 1) && + (((layout[i].InstanceEnable == 1) || (layout[i].InstanceStrideEnable == 1)) && (layout[i].InstanceAdvancementState != other.layout[i].InstanceAdvancementState))){ return false; } |