mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
i965: Never enable the GS on Gen6.
Prior to Gen6, we use the GS for breaking down quads, quad-strips,
and line loops. On Gen6, earlier stages already take care of this,
so we never need the GS.
Since this code is likely completely untested, remove it for now.
We can write new code when enabling real geometry shaders.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 35b3f597bd)
This commit is contained in:
parent
4d9becfb1f
commit
ef96b6148b
1 changed files with 16 additions and 32 deletions
|
|
@ -44,38 +44,22 @@ upload_gs_state(struct brw_context *brw)
|
|||
OUT_BATCH(0);
|
||||
ADVANCE_BATCH();
|
||||
|
||||
if (brw->gs.prog_bo) {
|
||||
BEGIN_BATCH(7);
|
||||
OUT_BATCH(_3DSTATE_GS << 16 | (7 - 2));
|
||||
OUT_RELOC(brw->gs.prog_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
|
||||
OUT_BATCH(GEN6_GS_SPF_MODE |
|
||||
(0 << GEN6_GS_SAMPLER_COUNT_SHIFT) |
|
||||
(0 << GEN6_GS_BINDING_TABLE_ENTRY_COUNT_SHIFT));
|
||||
OUT_BATCH(0); /* scratch space base offset */
|
||||
OUT_BATCH((1 << GEN6_GS_DISPATCH_START_GRF_SHIFT) |
|
||||
(brw->gs.prog_data->urb_read_length << GEN6_GS_URB_READ_LENGTH_SHIFT) |
|
||||
(0 << GEN6_GS_URB_ENTRY_READ_OFFSET_SHIFT));
|
||||
OUT_BATCH((0 << GEN6_GS_MAX_THREADS_SHIFT) |
|
||||
GEN6_GS_STATISTICS_ENABLE |
|
||||
GEN6_GS_RENDERING_ENABLE);
|
||||
OUT_BATCH(GEN6_GS_ENABLE);
|
||||
ADVANCE_BATCH();
|
||||
} else {
|
||||
BEGIN_BATCH(7);
|
||||
OUT_BATCH(_3DSTATE_GS << 16 | (7 - 2));
|
||||
OUT_BATCH(0); /* prog_bo */
|
||||
OUT_BATCH((0 << GEN6_GS_SAMPLER_COUNT_SHIFT) |
|
||||
(0 << GEN6_GS_BINDING_TABLE_ENTRY_COUNT_SHIFT));
|
||||
OUT_BATCH(0); /* scratch space base offset */
|
||||
OUT_BATCH((1 << GEN6_GS_DISPATCH_START_GRF_SHIFT) |
|
||||
(0 << GEN6_GS_URB_READ_LENGTH_SHIFT) |
|
||||
(0 << GEN6_GS_URB_ENTRY_READ_OFFSET_SHIFT));
|
||||
OUT_BATCH((0 << GEN6_GS_MAX_THREADS_SHIFT) |
|
||||
GEN6_GS_STATISTICS_ENABLE |
|
||||
GEN6_GS_RENDERING_ENABLE);
|
||||
OUT_BATCH(0);
|
||||
ADVANCE_BATCH();
|
||||
}
|
||||
// GS should never be used on Gen6. Disable it.
|
||||
assert(brw->gs.prog_bo == NULL);
|
||||
BEGIN_BATCH(7);
|
||||
OUT_BATCH(_3DSTATE_GS << 16 | (7 - 2));
|
||||
OUT_BATCH(0); /* prog_bo */
|
||||
OUT_BATCH((0 << GEN6_GS_SAMPLER_COUNT_SHIFT) |
|
||||
(0 << GEN6_GS_BINDING_TABLE_ENTRY_COUNT_SHIFT));
|
||||
OUT_BATCH(0); /* scratch space base offset */
|
||||
OUT_BATCH((1 << GEN6_GS_DISPATCH_START_GRF_SHIFT) |
|
||||
(0 << GEN6_GS_URB_READ_LENGTH_SHIFT) |
|
||||
(0 << GEN6_GS_URB_ENTRY_READ_OFFSET_SHIFT));
|
||||
OUT_BATCH((0 << GEN6_GS_MAX_THREADS_SHIFT) |
|
||||
GEN6_GS_STATISTICS_ENABLE |
|
||||
GEN6_GS_RENDERING_ENABLE);
|
||||
OUT_BATCH(0);
|
||||
ADVANCE_BATCH();
|
||||
}
|
||||
|
||||
const struct brw_tracked_state gen6_gs_state = {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue