virgl: lower image variable offsets into the intrinsic range_base value
With that we get the correct base offset when accessing image arrays. This is required if there a various images with different access specifiers, because only with the correct base offset the host driver is able to pick the right array. Fixes GL-CTS: KHR-GL43.shading_language_420pack.binding_image_array Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19980>
This commit is contained in:
@@ -67,11 +67,6 @@ KHR-Single-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing4,Fail
|
||||
KHR-Single-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls1,Fail
|
||||
KHR-Single-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls2,Fail
|
||||
|
||||
# virglrenderer translates TGSI IMAGE declaration "WR" ("image is not readonly")
|
||||
# into the writeonly qualifier, which works for gles (where each image is either
|
||||
# RO or WO) but not for desktop GL.
|
||||
KHR-GL43.shading_language_420pack.binding_image_array,Fail
|
||||
|
||||
KHR-GL43.shading_language_420pack.binding_images,Fail
|
||||
KHR-GL43.texture_view.view_sampling,Fail
|
||||
KHR-GL43.transform_feedback_overflow_query_ARB.advanced-single-stream-interleaved-attribs,Fail
|
||||
|
@@ -1180,6 +1180,7 @@ virgl_create_screen(struct virgl_winsys *vws, const struct pipe_screen_config *c
|
||||
}
|
||||
screen->compiler_options.lower_ffma32 = true;
|
||||
screen->compiler_options.fuse_ffma32 = false;
|
||||
screen->compiler_options.lower_image_offset_to_range_base = true;
|
||||
|
||||
slab_create_parent(&screen->transfer_pool, sizeof(struct virgl_transfer), 16);
|
||||
|
||||
|
Reference in New Issue
Block a user