From: Christoph Bumiller Date: Wed, 12 Oct 2011 16:04:50 +0000 (+0200) Subject: d3d1x: add FORK/JOIN phase opcodes to declarations X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=903e3257d071caeeec84a096069a78b55666f72d;p=mesa.git 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. --- 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)) {