screen->driconf.dual_color_blend_by_location &&
(blend->blend_enables & 1) && blend->dual_color_blending;
- /* TODO: Respect glHint for key->high_quality_derivatives */
-
#if GFX_VER <= 5
if (fb->nr_cbufs > 1 && zsa->cso.alpha_enabled) {
key->alpha_test_func = compare_func_to_gl(zsa->cso.alpha_func);
bool persample_interp:1;
bool multisample_fbo:1;
enum brw_wm_aa_enable line_aa:2;
- bool high_quality_derivatives:1;
bool force_dual_color_blend:1;
bool coherent_fb_fetch:1;
bool ignore_sample_mask_out:1;
found |= check("per-sample interpolation", persample_interp);
found |= check("multisampled FBO", multisample_fbo);
found |= check("line smoothing", line_aa);
- found |= check("high quality derivatives", high_quality_derivatives);
found |= check("force dual color blending", force_dual_color_blend);
found |= check("coherent fb fetch", coherent_fb_fetch);
fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr,
bool need_dest)
{
- struct brw_wm_prog_key *fs_key = (struct brw_wm_prog_key *) this->key;
fs_inst *inst;
unsigned execution_mode =
bld.shader->nir->info.float_controls_execution_mode;
inst = bld.emit(SHADER_OPCODE_COS, result, op[0]);
break;
- case nir_op_fddx:
- if (fs_key->high_quality_derivatives) {
- inst = bld.emit(FS_OPCODE_DDX_FINE, result, op[0]);
- } else {
- inst = bld.emit(FS_OPCODE_DDX_COARSE, result, op[0]);
- }
- break;
case nir_op_fddx_fine:
inst = bld.emit(FS_OPCODE_DDX_FINE, result, op[0]);
break;
+ case nir_op_fddx:
case nir_op_fddx_coarse:
inst = bld.emit(FS_OPCODE_DDX_COARSE, result, op[0]);
break;
- case nir_op_fddy:
- if (fs_key->high_quality_derivatives) {
- inst = bld.emit(FS_OPCODE_DDY_FINE, result, op[0]);
- } else {
- inst = bld.emit(FS_OPCODE_DDY_COARSE, result, op[0]);
- }
- break;
case nir_op_fddy_fine:
inst = bld.emit(FS_OPCODE_DDY_FINE, result, op[0]);
break;
+ case nir_op_fddy:
case nir_op_fddy_coarse:
inst = bld.emit(FS_OPCODE_DDY_COARSE, result, op[0]);
break;
*/
key->input_slots_valid = 0;
- /* Vulkan doesn't specify a default */
- key->high_quality_derivatives = false;
-
/* XXX Vulkan doesn't appear to specify */
key->clamp_fragment_color = false;