mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
ilo: fix some state pointer commands on Gen8
3DSTATE_CC_STATE_POINTERS seems to be ignored when bit 0 of DW1 is not set. Follow i965 and set the bit for 3DSTATE_CC_STATE_POINTERS and 3DSTATE_BLEND_STATE_POINTERS. Add gen checks for all state pointer commands.
This commit is contained in:
parent
854eb06bee
commit
69b1693ef3
1 changed files with 20 additions and 0 deletions
|
|
@ -841,6 +841,8 @@ static inline void
|
|||
gen7_3DSTATE_BINDING_TABLE_POINTERS_PS(struct ilo_builder *builder,
|
||||
uint32_t binding_table)
|
||||
{
|
||||
ILO_DEV_ASSERT(builder->dev, 7, 8);
|
||||
|
||||
gen7_3dstate_pointer(builder,
|
||||
GEN7_RENDER_OPCODE_3DSTATE_BINDING_TABLE_POINTERS_PS,
|
||||
binding_table);
|
||||
|
|
@ -850,6 +852,8 @@ static inline void
|
|||
gen7_3DSTATE_SAMPLER_STATE_POINTERS_PS(struct ilo_builder *builder,
|
||||
uint32_t sampler_state)
|
||||
{
|
||||
ILO_DEV_ASSERT(builder->dev, 7, 8);
|
||||
|
||||
gen7_3dstate_pointer(builder,
|
||||
GEN7_RENDER_OPCODE_3DSTATE_SAMPLER_STATE_POINTERS_PS,
|
||||
sampler_state);
|
||||
|
|
@ -1362,6 +1366,8 @@ static inline void
|
|||
gen7_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP(struct ilo_builder *builder,
|
||||
uint32_t sf_clip_viewport)
|
||||
{
|
||||
ILO_DEV_ASSERT(builder->dev, 7, 8);
|
||||
|
||||
gen7_3dstate_pointer(builder,
|
||||
GEN7_RENDER_OPCODE_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP,
|
||||
sf_clip_viewport);
|
||||
|
|
@ -1371,6 +1377,8 @@ static inline void
|
|||
gen7_3DSTATE_VIEWPORT_STATE_POINTERS_CC(struct ilo_builder *builder,
|
||||
uint32_t cc_viewport)
|
||||
{
|
||||
ILO_DEV_ASSERT(builder->dev, 7, 8);
|
||||
|
||||
gen7_3dstate_pointer(builder,
|
||||
GEN7_RENDER_OPCODE_3DSTATE_VIEWPORT_STATE_POINTERS_CC,
|
||||
cc_viewport);
|
||||
|
|
@ -1380,6 +1388,11 @@ static inline void
|
|||
gen7_3DSTATE_CC_STATE_POINTERS(struct ilo_builder *builder,
|
||||
uint32_t color_calc_state)
|
||||
{
|
||||
ILO_DEV_ASSERT(builder->dev, 7, 8);
|
||||
|
||||
if (ilo_dev_gen(builder->dev) >= ILO_GEN(8))
|
||||
color_calc_state |= 1;
|
||||
|
||||
gen7_3dstate_pointer(builder,
|
||||
GEN6_RENDER_OPCODE_3DSTATE_CC_STATE_POINTERS, color_calc_state);
|
||||
}
|
||||
|
|
@ -1388,6 +1401,8 @@ static inline void
|
|||
gen7_3DSTATE_DEPTH_STENCIL_STATE_POINTERS(struct ilo_builder *builder,
|
||||
uint32_t depth_stencil_state)
|
||||
{
|
||||
ILO_DEV_ASSERT(builder->dev, 7, 8);
|
||||
|
||||
gen7_3dstate_pointer(builder,
|
||||
GEN7_RENDER_OPCODE_3DSTATE_DEPTH_STENCIL_STATE_POINTERS,
|
||||
depth_stencil_state);
|
||||
|
|
@ -1397,6 +1412,11 @@ static inline void
|
|||
gen7_3DSTATE_BLEND_STATE_POINTERS(struct ilo_builder *builder,
|
||||
uint32_t blend_state)
|
||||
{
|
||||
ILO_DEV_ASSERT(builder->dev, 7, 8);
|
||||
|
||||
if (ilo_dev_gen(builder->dev) >= ILO_GEN(8))
|
||||
blend_state |= 1;
|
||||
|
||||
gen7_3dstate_pointer(builder,
|
||||
GEN7_RENDER_OPCODE_3DSTATE_BLEND_STATE_POINTERS,
|
||||
blend_state);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue