From 903e3257d071caeeec84a096069a78b55666f72d Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Wed, 12 Oct 2011 18:04:50 +0200 Subject: [PATCH] d3d1x: add FORK/JOIN phase opcodes to declarations The phase instance counts are not necessarily redeclared so with the separation of declarations and instructions we wouldn't know which instance count applies to which phase. --- .../state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp b/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp index f406b1f8dca..9d7392b9a2c 100644 --- a/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp +++ b/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp @@ -202,6 +202,15 @@ relative: continue; } + if(opcode == SM4_OPCODE_HS_FORK_PHASE || opcode == SM4_OPCODE_HS_JOIN_PHASE) + { + // need to interleave these with the declarations or we cannot + // assign fork/join phase instance counts to phases + sm4_dcl& dcl = *new sm4_dcl; + program.dcls.push_back(&dcl); + dcl.opcode = opcode; + } + if((opcode >= SM4_OPCODE_DCL_RESOURCE && opcode <= SM4_OPCODE_DCL_GLOBAL_FLAGS) || (opcode >= SM4_OPCODE_DCL_STREAM && opcode <= SM4_OPCODE_DCL_RESOURCE_STRUCTURED)) { -- 2.30.2