Branimir Karadžić 10 ani în urmă
părinte
comite
8adc099b02
4 a modificat fișierele cu 19 adăugiri și 16 ștergeri
  1. 3 0
      scripts/bgfx.lua
  2. 6 6
      src/shader_dx9bc.cpp
  3. 5 5
      src/shader_dxbc.cpp
  4. 5 5
      tools/shaderc/shaderc.cpp

+ 3 - 0
scripts/bgfx.lua

@@ -129,6 +129,9 @@ function bgfxProject(_name, _kind, _defines)
 				path.join(BGFX_DIR, "src/renderer_null.cpp"),
 				path.join(BGFX_DIR, "src/renderer_gl.cpp"),
 				path.join(BGFX_DIR, "src/renderer_vk.cpp"),
+				path.join(BGFX_DIR, "src/shader_dx9bc.cpp"),
+				path.join(BGFX_DIR, "src/shader_dxbc.cpp"),
+				path.join(BGFX_DIR, "src/shader_spirv.cpp"),
 				path.join(BGFX_DIR, "src/vertexdecl.cpp"),
 			}
 

+ 6 - 6
src/shader_dx9bc.cpp

@@ -284,7 +284,7 @@ namespace bgfx
 		_subOperand.type        =   Dx9bcOperandType::Enum( ( (token & UINT32_C(0x70000000) ) >> 28)
 														  | ( (token & UINT32_C(0x00001800) ) >>  8) );
 		_subOperand.regIndex    =                             (token & UINT32_C(0x000007ff) );
-		_subOperand.swizzleBits =                           ( (token & UINT32_C(0x00ff0000) ) >> 16);
+		_subOperand.swizzleBits =                      uint8_t( (token & UINT32_C(0x00ff0000) ) >> 16);
 
 		return size;
 	}
@@ -320,10 +320,10 @@ namespace bgfx
 			// Destination Parameter Token
 			// https://msdn.microsoft.com/en-us/library/ff552738.aspx
 
-			_operand.writeMask        =    ( (token & UINT32_C(0x000f0000) ) >> 16);
-			_operand.saturate         = 0 != (token & UINT32_C(0x00100000) );
-			_operand.partialPrecision = 0 != (token & UINT32_C(0x00200000) );
-			_operand.centroid         = 0 != (token & UINT32_C(0x00400000) );
+			_operand.writeMask        = uint8_t( (token & UINT32_C(0x000f0000) ) >> 16);
+			_operand.saturate         =     0 != (token & UINT32_C(0x00100000) );
+			_operand.partialPrecision =     0 != (token & UINT32_C(0x00200000) );
+			_operand.centroid         =     0 != (token & UINT32_C(0x00400000) );
 		}
 		else
 		{
@@ -334,7 +334,7 @@ namespace bgfx
 			_operand.saturate         = false;
 			_operand.partialPrecision = false;
 			_operand.centroid         = false;
-			_operand.swizzleBits      = ( (token & UINT32_C(0x00ff0000) ) >> 16);
+			_operand.swizzleBits      = uint8_t( (token & UINT32_C(0x00ff0000) ) >> 16);
 		}
 
 		if (Dx9bcOperandAddrMode::Relative == _operand.addrMode)

+ 5 - 5
src/shader_dxbc.cpp

@@ -1203,9 +1203,9 @@ namespace bgfx
 				//            |   +----------------- y
 				//            +--------------------- z
 
-				_instruction.sampleOffsets[0] = (extBits & UINT32_C(0x00001e00) ) >>  9;
-				_instruction.sampleOffsets[1] = (extBits & UINT32_C(0x0001e000) ) >> 13;
-				_instruction.sampleOffsets[2] = (extBits & UINT32_C(0x001e0000) ) >> 17;
+				_instruction.sampleOffsets[0] = uint8_t( (extBits & UINT32_C(0x00001e00) ) >>  9);
+				_instruction.sampleOffsets[1] = uint8_t( (extBits & UINT32_C(0x0001e000) ) >> 13);
+				_instruction.sampleOffsets[2] = uint8_t( (extBits & UINT32_C(0x001e0000) ) >> 17);
 				break;
 
 			case DxbcInstruction::ExtendedType::ResourceDim:
@@ -1214,8 +1214,8 @@ namespace bgfx
 				// .                          .....
 				//
 
-				_instruction.resourceTarget = DxbcResourceDim::Enum( (extBits & UINT32_C(0x000003e0) ) >>  6);
-				_instruction.resourceStride =                        (extBits & UINT32_C(0x0000f800) ) >> 11;
+				_instruction.resourceTarget = uint8_t( (extBits & UINT32_C(0x000003e0) ) >>  6);
+				_instruction.resourceStride = uint8_t( (extBits & UINT32_C(0x0000f800) ) >> 11);
 				break;
 
 			case DxbcInstruction::ExtendedType::ResourceReturnType:

+ 5 - 5
tools/shaderc/shaderc.cpp

@@ -902,11 +902,11 @@ int main(int _argc, const char* _argv[])
 		{
 			preprocessor.addDependency(varyingdef);
 		}
-        else
-        {
-            fprintf(stderr, "ERROR: Failed to parse varying def file: \"%s\" No input/output semantics will be generated in the code!\n", varyingdef);
-        }
-        
+		else
+		{
+			fprintf(stderr, "ERROR: Failed to parse varying def file: \"%s\" No input/output semantics will be generated in the code!\n", varyingdef);
+		}
+
 		while (NULL != parse
 		   &&  *parse != '\0')
 		{