diff --git a/src/gallium/drivers/r300/ci/r300-rv380-fails.txt b/src/gallium/drivers/r300/ci/r300-rv380-fails.txt index be321c4d0f7..db0d393cd59 100644 --- a/src/gallium/drivers/r300/ci/r300-rv380-fails.txt +++ b/src/gallium/drivers/r300/ci/r300-rv380-fails.txt @@ -38,7 +38,6 @@ dEQP-GLES2.functional.shaders.loops.for_constant_iterations.mixed_break_continue dEQP-GLES2.functional.shaders.loops.for_constant_iterations.mixed_break_continue_vertex,Fail dEQP-GLES2.functional.shaders.random.all_features.fragment.6,Fail dEQP-GLES2.functional.shaders.random.all_features.fragment.93,Fail -dEQP-GLES2.functional.shaders.random.all_features.fragment.97,Fail dEQP-GLES2.functional.shaders.random.trigonometric.fragment.45,Fail dEQP-GLES2.functional.texture.filtering.cube.linear_linear_clamp_l8_npot,Fail dEQP-GLES2.functional.texture.filtering.cube.linear_linear_clamp_rgb888_npot,Fail diff --git a/src/gallium/drivers/r300/compiler/radeon_optimize.c b/src/gallium/drivers/r300/compiler/radeon_optimize.c index f0cdee0838e..38ba2efd050 100644 --- a/src/gallium/drivers/r300/compiler/radeon_optimize.c +++ b/src/gallium/drivers/r300/compiler/radeon_optimize.c @@ -439,7 +439,8 @@ is_presub_candidate(struct radeon_compiler *c, struct rc_instruction *inst) return 0; src.File = RC_FILE_PRESUB; - if (!c->SwizzleCaps->IsNative(inst->U.I.Opcode, src)) + if (!c->SwizzleCaps->IsNative(inst->U.I.Opcode, src) && + inst->U.I.SrcReg[i].File != RC_FILE_NONE) return 0; } return 1;