mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 11:18:08 +02:00
i965/fs: Implement fs_inst::force_sechalf support on Broadwell.
Back when I originally wrote this code, force_sechalf was only used for Gen4 code, so I didn't bother hooking it up. However, it's used more generally these days. In particular, we use it for computing gl_SamplePosition. Fixes Piglit's spec/ARB_sample_shading/builtin-gl-sample-position tests. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77222 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
92840aabf7
commit
a1273a07ed
3 changed files with 8 additions and 4 deletions
|
|
@ -927,10 +927,12 @@ gen8_fs_generator::generate_code(exec_list *instructions)
|
|||
else
|
||||
default_state.exec_size = BRW_EXECUTE_8;
|
||||
|
||||
/* fs_inst::force_sechalf is only used for original Gen4 code, so we
|
||||
* don't handle it. Add qtr_control to default_state if that changes.
|
||||
*/
|
||||
assert(!ir->force_sechalf);
|
||||
if (ir->force_uncompressed || dispatch_width == 8)
|
||||
default_state.qtr_control = GEN6_COMPRESSION_1Q;
|
||||
else if (ir->force_sechalf)
|
||||
default_state.qtr_control = GEN6_COMPRESSION_2Q;
|
||||
else
|
||||
default_state.qtr_control = GEN6_COMPRESSION_1H;
|
||||
|
||||
switch (ir->opcode) {
|
||||
case BRW_OPCODE_MOV:
|
||||
|
|
|
|||
|
|
@ -87,6 +87,7 @@ gen8_generator::next_inst(unsigned opcode)
|
|||
gen8_set_exec_size(inst, default_state.exec_size);
|
||||
gen8_set_access_mode(inst, default_state.access_mode);
|
||||
gen8_set_mask_control(inst, default_state.mask_control);
|
||||
gen8_set_qtr_control(inst, default_state.qtr_control);
|
||||
gen8_set_cond_modifier(inst, default_state.conditional_mod);
|
||||
gen8_set_pred_control(inst, default_state.predicate);
|
||||
gen8_set_pred_inv(inst, default_state.predicate_inverse);
|
||||
|
|
|
|||
|
|
@ -186,6 +186,7 @@ protected:
|
|||
unsigned exec_size;
|
||||
unsigned access_mode;
|
||||
unsigned mask_control;
|
||||
unsigned qtr_control;
|
||||
unsigned flag_subreg_nr;
|
||||
unsigned conditional_mod;
|
||||
unsigned predicate;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue