mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-05 04:40:11 +01:00
iris: Actually pin the scratch BO.
We were pinning it for compute shaders, and pinning it when restoring saved buffers, but we never actually pinned it in the original batch for VS/TCS/TES/GS/FS. Fixes rendering in GFXBench5's Tessellation demo and a bunch of Piglit geometry shader tests.
This commit is contained in:
parent
628c9ca908
commit
4fcb749044
1 changed files with 8 additions and 0 deletions
|
|
@ -4593,8 +4593,16 @@ iris_upload_dirty_render_state(struct iris_context *ice,
|
|||
struct iris_compiled_shader *shader = ice->shaders.prog[stage];
|
||||
|
||||
if (shader) {
|
||||
struct brw_stage_prog_data *prog_data = shader->prog_data;
|
||||
struct iris_resource *cache = (void *) shader->assembly.res;
|
||||
iris_use_pinned_bo(batch, cache->bo, false);
|
||||
|
||||
if (prog_data->total_scratch > 0) {
|
||||
struct iris_bo *bo =
|
||||
iris_get_scratch_space(ice, prog_data->total_scratch, stage);
|
||||
iris_use_pinned_bo(batch, bo, true);
|
||||
}
|
||||
|
||||
iris_batch_emit(batch, shader->derived_data,
|
||||
iris_derived_program_state_size(stage));
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue