mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 02:48:06 +02:00
isl: speedup buffer fills by dropping swizzle programming
In vkoverhead ubo/ssbo tests, this is about 15/20% improvement. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40697>
This commit is contained in:
parent
c6f24ddcc9
commit
fdc1fae740
1 changed files with 9 additions and 6 deletions
|
|
@ -1175,13 +1175,16 @@ isl_genX(buffer_fill_state_s)(const struct isl_device *dev, void *state,
|
|||
#endif
|
||||
|
||||
#if (GFX_VERx10 >= 75)
|
||||
struct isl_swizzle swz = isl_get_shader_channel_select(info->format,
|
||||
info->swizzle);
|
||||
if (info->format != ISL_FORMAT_RAW) {
|
||||
struct isl_swizzle swz =
|
||||
isl_get_shader_channel_select(info->format,
|
||||
info->swizzle);
|
||||
|
||||
s.ShaderChannelSelectRed = (enum GENX(ShaderChannelSelect)) swz.r;
|
||||
s.ShaderChannelSelectGreen = (enum GENX(ShaderChannelSelect)) swz.g;
|
||||
s.ShaderChannelSelectBlue = (enum GENX(ShaderChannelSelect)) swz.b;
|
||||
s.ShaderChannelSelectAlpha = (enum GENX(ShaderChannelSelect)) swz.a;
|
||||
s.ShaderChannelSelectRed = (enum GENX(ShaderChannelSelect)) swz.r;
|
||||
s.ShaderChannelSelectGreen = (enum GENX(ShaderChannelSelect)) swz.g;
|
||||
s.ShaderChannelSelectBlue = (enum GENX(ShaderChannelSelect)) swz.b;
|
||||
s.ShaderChannelSelectAlpha = (enum GENX(ShaderChannelSelect)) swz.a;
|
||||
}
|
||||
#endif
|
||||
|
||||
GENX(RENDER_SURFACE_STATE_pack)(NULL, state, &s);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue