From cbac9b2f4e2fb84704ec10be4253d248b4b22f1a Mon Sep 17 00:00:00 2001 From: "Dr. Chat" Date: Sun, 21 Feb 2016 17:39:18 -0600 Subject: [PATCH] Use vec4 zero rather than float zero where needed --- src/xenia/gpu/spirv_shader_translator.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/xenia/gpu/spirv_shader_translator.cc b/src/xenia/gpu/spirv_shader_translator.cc index ed03d29e0..644e766ef 100644 --- a/src/xenia/gpu/spirv_shader_translator.cc +++ b/src/xenia/gpu/spirv_shader_translator.cc @@ -613,7 +613,7 @@ void SpirvShaderTranslator::ProcessVectorAluInstruction( case AluVectorOpcode::kCndEq: { // dest = src0 == 0.0 ? src1 : src2; auto c = b.createBinOp(spv::Op::OpFOrdEqual, vec4_bool_type_, sources[0], - b.makeFloatConstant(0.f)); + vec4_float_zero_); dest = b.createTriOp(spv::Op::OpSelect, vec4_float_type_, c, sources[1], sources[2]); } break; @@ -621,7 +621,7 @@ void SpirvShaderTranslator::ProcessVectorAluInstruction( case AluVectorOpcode::kCndGe: { // dest = src0 == 0.0 ? src1 : src2; auto c = b.createBinOp(spv::Op::OpFOrdGreaterThanEqual, vec4_bool_type_, - sources[0], b.makeFloatConstant(0.f)); + sources[0], vec4_float_zero_); dest = b.createTriOp(spv::Op::OpSelect, vec4_float_type_, c, sources[1], sources[2]); } break; @@ -629,7 +629,7 @@ void SpirvShaderTranslator::ProcessVectorAluInstruction( case AluVectorOpcode::kCndGt: { // dest = src0 == 0.0 ? src1 : src2; auto c = b.createBinOp(spv::Op::OpFOrdGreaterThan, vec4_bool_type_, - sources[0], b.makeFloatConstant(0.f)); + sources[0], vec4_float_zero_); dest = b.createTriOp(spv::Op::OpSelect, vec4_float_type_, c, sources[1], sources[2]); } break; @@ -1184,6 +1184,12 @@ void SpirvShaderTranslator::ProcessScalarAluInstruction( b.makeFloatConstant(0.f), b.makeFloatConstant(1.f)); } break; + case AluScalarOpcode::kSetpPop: { + } break; + + case AluScalarOpcode::kSetpRstr: { + } break; + case AluScalarOpcode::kSin: { dest = CreateGlslStd450InstructionCall( spv::Decoration::DecorationInvariant, float_type_, GLSLstd450::kSin,