mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 04:58:05 +02:00
anv: Set STATE_BASE_ADDRESS upper bounds on gen7
This should fix floating-point border color on all gen7 HW. Integer is
still thoroughly busted on gen7 because it doesn't exist on IVB and it's
crazy on HSW.
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 9672b7044c)
This commit is contained in:
parent
1702733645
commit
db4850c631
1 changed files with 17 additions and 0 deletions
|
|
@ -108,6 +108,23 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
|
|||
sba.IndirectObjectBufferSizeModifyEnable = true;
|
||||
sba.InstructionBufferSize = 0xfffff;
|
||||
sba.InstructionBuffersizeModifyEnable = true;
|
||||
# else
|
||||
/* On gen7, we have upper bounds instead. According to the docs,
|
||||
* setting an upper bound of zero means that no bounds checking is
|
||||
* performed so, in theory, we should be able to leave them zero.
|
||||
* However, border color is broken and the GPU bounds-checks anyway.
|
||||
* To avoid this and other potential problems, we may as well set it
|
||||
* for everything.
|
||||
*/
|
||||
sba.GeneralStateAccessUpperBound =
|
||||
(struct anv_address) { .bo = NULL, .offset = 0xfffff000 };
|
||||
sba.GeneralStateAccessUpperBoundModifyEnable = true;
|
||||
sba.DynamicStateAccessUpperBound =
|
||||
(struct anv_address) { .bo = NULL, .offset = 0xfffff000 };
|
||||
sba.DynamicStateAccessUpperBoundModifyEnable = true;
|
||||
sba.InstructionAccessUpperBound =
|
||||
(struct anv_address) { .bo = NULL, .offset = 0xfffff000 };
|
||||
sba.InstructionAccessUpperBoundModifyEnable = true;
|
||||
# endif
|
||||
# if (GEN_GEN >= 9)
|
||||
if (cmd_buffer->device->instance->physicalDevice.use_softpin) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue