Add ForceSequentialAccessEnable and InstanceIDOffsetEnable bools to
FETCH_COMPILE_STATE.
---
src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp | 6 ++++++
src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.h | 7 ++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
index f3a4b27..9061298 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 0dd6de7..18fa963 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;
}
--
2.7.4
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev