zink: enable renderpass optimizations by default for selected drivers
CI has been running this for months on turnip, so let's give it some broader testing also add a ZINK_DEBUG=norp for testing Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21296>
This commit is contained in:

committed by
Marge Bot

parent
4fbcd046ce
commit
0d445cfb7e
@@ -291,6 +291,10 @@ variable:
|
|||||||
Do not reorder or optimize GL command streams
|
Do not reorder or optimize GL command streams
|
||||||
``gpl``
|
``gpl``
|
||||||
Force using Graphics Pipeline Library for all shaders
|
Force using Graphics Pipeline Library for all shaders
|
||||||
|
``rp``
|
||||||
|
Enable renderpass optimizations (for tiling GPUs)
|
||||||
|
``norp``
|
||||||
|
Disable renderpass optimizations (for tiling GPUs)
|
||||||
|
|
||||||
Vulkan Validation Layers
|
Vulkan Validation Layers
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@@ -122,7 +122,6 @@ zink-freedreno-a630-traces:
|
|||||||
- .zink-trace-test
|
- .zink-trace-test
|
||||||
variables:
|
variables:
|
||||||
PIGLIT_REPLAY_DEVICE_NAME: "zink-a630"
|
PIGLIT_REPLAY_DEVICE_NAME: "zink-a630"
|
||||||
ZINK_DEBUG: rp
|
|
||||||
|
|
||||||
############### Combined testing (GL, GLES, Piglit) on RADV
|
############### Combined testing (GL, GLES, Piglit) on RADV
|
||||||
.radv-zink-test-valve:
|
.radv-zink-test-valve:
|
||||||
|
@@ -4,6 +4,3 @@ dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.mediump_mat4_float_vertex,F
|
|||||||
|
|
||||||
# Some incorrect colors and missing lines. Passes on its own. Need to extract and minify the failing caselist.
|
# Some incorrect colors and missing lines. Passes on its own. Need to extract and minify the failing caselist.
|
||||||
dEQP-GLES3.functional.transform_feedback.random_full_array_capture.separate.lines.4,Fail
|
dEQP-GLES3.functional.transform_feedback.random_full_array_capture.separate.lines.4,Fail
|
||||||
|
|
||||||
# Some of the quads are missing?
|
|
||||||
565-nozs-dEQP-GLES3.functional.color_clear.complex_rgb,Fail
|
|
||||||
|
@@ -2513,9 +2513,12 @@ init_driver_workarounds(struct zink_screen *screen)
|
|||||||
screen->info.rb_image_feats.robustImageAccess;
|
screen->info.rb_image_feats.robustImageAccess;
|
||||||
|
|
||||||
/* once more testing has been done, use the #if 0 block */
|
/* once more testing has been done, use the #if 0 block */
|
||||||
if (zink_debug & ZINK_DEBUG_RP)
|
unsigned illegal = ZINK_DEBUG_RP | ZINK_DEBUG_NORP;
|
||||||
screen->driver_workarounds.track_renderpasses = true;
|
if ((zink_debug & illegal) == illegal) {
|
||||||
#if 0
|
mesa_loge("Cannot specify ZINK_DEBUG=rp and ZINK_DEBUG=norp");
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
/* these drivers benefit from renderpass optimization */
|
/* these drivers benefit from renderpass optimization */
|
||||||
switch (screen->info.driver_props.driverID) {
|
switch (screen->info.driver_props.driverID) {
|
||||||
//* llvmpipe is broken: #7489
|
//* llvmpipe is broken: #7489
|
||||||
@@ -2533,7 +2536,10 @@ init_driver_workarounds(struct zink_screen *screen)
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
if (zink_debug & ZINK_DEBUG_RP)
|
||||||
|
screen->driver_workarounds.track_renderpasses = true;
|
||||||
|
else if (zink_debug & ZINK_DEBUG_NORP)
|
||||||
|
screen->driver_workarounds.track_renderpasses = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct disk_cache *
|
static struct disk_cache *
|
||||||
|
@@ -216,6 +216,7 @@ enum zink_debug {
|
|||||||
ZINK_DEBUG_GPL = (1<<7),
|
ZINK_DEBUG_GPL = (1<<7),
|
||||||
ZINK_DEBUG_SHADERDB = (1<<8),
|
ZINK_DEBUG_SHADERDB = (1<<8),
|
||||||
ZINK_DEBUG_RP = (1<<9),
|
ZINK_DEBUG_RP = (1<<9),
|
||||||
|
ZINK_DEBUG_NORP = (1<<10),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user