- 18 Oct, 2018 2 commits
-
-
Gert Wollny authored
On one hand it is simpler on GLES, because it allows direct readback, and on the other hand it fixes failures when EXT_texture_buffer is not available. Also unbind the buffers after use because otherwise glReadPixel would interpret the pixel pointer argument as offset into the buffer and would fail. Closes: #45 Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Acked-by:
Jakob Bornecrantz <jakob@collabora.com> Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
We have to link the gallium la file into the test code Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com>
-
- 12 Oct, 2018 1 commit
-
-
Gert Wollny authored
operations The GLES 3.1 standard already requires support for shadow samplers, components, and offsets, so it is not needed to specify the requirement for the extensions. Closes: #40 Out of the tests that pass on the softpipe host and fail when runing it through vtest/host:gles-softpipe this fixes the failures: dEQP-GLES31.functional.texture.gather.* Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 09 Oct, 2018 2 commits
-
-
The define should always be true and the availability of the extension is already checked at run-time. Also correct the fourcc fallback code path to fullfill test expectation. Closes: #36 Reviewed-by:
Gert Wollny <gert.wollny@collabora.com> Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com>
-
For some reason it is not possible to create a normal EGL context when a mesa software renderer is used as a backend, and hence the unit tests will all fail. Make it possible to force a surfaceless EGL context by specifying the environment variable VRENDTEST_USE_EGL_SURFACELESS=1 Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com>
-
- 04 Oct, 2018 3 commits
-
-
Erik Faye-Lund authored
TGSI defines TGSI_SEMANTIC_SAMPLEPOS as a 4-component vector with Z and W set to 0. However, if we ever try to reach thez and w compoents, we run into trouble because this is implemented as a swizzle on gl_SamplePosition instead. And gl_SamplePosition only has x and y. It seems that recent versions of mesa does just this, causing shader-compilation errors during dEQP tests. This fixes regressions in the following tests: dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.singlesample_texture dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.multisample_texture_1 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.multisample_texture_2 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.multisample_texture_4 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.multisample_texture_8 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.singlesample_rbo dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.multisample_rbo_1 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.multisample_rbo_2 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.multisample_rbo_4 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.multisample_rbo_8 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_1 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_2 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_4 dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution.multisample_texture_8 dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position.default_framebuffer Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com> Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Gert Wollny authored
TXP implements perspective correction, and uses a 4D vector as input. Apply the according perspective correction in the 1D case and use only the relevant components. Closes: #34 Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Gert Wollny authored
When running a GL 2.1 program in that guest on a GLES host that uses 1D textures then the emitted shaders must not declare 1D sampler, since they are not supported. Instead, use 2D samplers since 1D textures are emulated by 2D textures, and also fix the texture shader call. Closes: #33 Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 03 Oct, 2018 1 commit
-
-
It's never set to 1. Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com>
-
- 19 Sep, 2018 2 commits
-
-
Dave Airlie authored
-
Dave Airlie authored
-
- 17 Sep, 2018 4 commits
-
-
This helps expose GL_EXT_draw_buffers_indexed in the guest when the host is not GLES 3.2 but provides the extension. Enables tests dEQP-GLES31.functional.draw_buffers_indexed.random. max_required_draw_buffers.* Signed-off-by:
Gert Wollny <gert.wollny@collabora.com>
-
it seems that both extensions GL_OES_gpu_shader5 and GL_OES_shader_multisample_interpolation are required to accept this keyword on GLSL 310 ES. Signed-off-by:
Gert Wollny <gert.wollny@collabora.com>
-
Signed-off-by:
Gert Wollny <gert.wollny@collabora.com>
-
Signed-off-by:
Gert Wollny <gert.wollny@collabora.com>
-
- 13 Sep, 2018 7 commits
-
-
Jakob Bornecrantz authored
Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Jakob Bornecrantz authored
Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Jakob Bornecrantz authored
Reviewed-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Tomeu Vizoso authored
With the main aim of making vtest's usage of virglrenderer more similar to that of QEMU, this patch sets a backing store to each resource and reads from or writes to at each transfer operation. v2: - Instead of adding a callback on resource destruction, free the iovec when we unref a resource as we know that we won't be doing anything else with it. (Dave Airlie) v3: - Store pointers to iovecs in the global to also release them v4: - Add new commands for resource creation and transfers, to be used when protocol version >= 1. v5: - Replaced the global array of iovecs with a hash table because some es31 tests create thousands of resources and reach any sane limit. Tested-by:
Jakob Bornecrantz <jakob@collabora.com> Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Tomeu Vizoso authored
This commit negotiates a common protocol version with the clients, allowing for backwards compatibility on both sides. v2: - Negotiate the version in a new command, so the client can probe for its existence and stay compatible with older servers. (Dave Airlie) Tested-by:
Jakob Bornecrantz <jakob@collabora.com> Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
As we don't have yet a proper way of negotiating a common protocol version to use between clients and the server, we introduce a command without reply arguments that allows us to figure out if the server is new enough to handle negotiation of the protocol version. Tested-by:
Jakob Bornecrantz <jakob@collabora.com> Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Pohsien Wang authored
This is a follow up change for a5bfadaa to fix some request with 0 length shader. This moves the check from the decode phase into create_shader as userspace may send 0 length shader in a long shader request. TEST=webglaquarium TEST=piglit opengl -t glsl --glsl Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
- 10 Sep, 2018 1 commit
-
-
Gert Wollny authored
The extension is part of GLSL 320 es, but must be enabled manually for a gles 3.1 host. Closes: #32 Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
- 06 Sep, 2018 2 commits
-
-
Gurchetan Singh authored
1) We use the preprocessor flag HAVE_EPOXY_GLX_H, but never set it. 2) WITH_GLX diverges with HAVE_EPOXY_EGL_H. 3) virgl_test_server needs to link with X11 when using a GLX backend. To fix this, query epoxy for GLX support and allow the user to disable it as well. TEST=./autogen.sh --disable-egl
-
Gurchetan Singh authored
Line 127 and Line 137 are the same.
-
- 04 Sep, 2018 6 commits
-
-
Tomeu Vizoso authored
Add support for TGSI's HW atomic counters, implemented here with atomic_uint. v2: - Fix indirect addressing - Emit atomicCounterAddARB to make piglit happy v3: - Emit other atomic operations (Dave Airlie) v4: - Adjust indirect index (Dave Airlie) Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Tomeu Vizoso authored
Add support for TGSI's HW atomic counters, implemented here with atomic_uint. v2: - Fix calculation of atomic count in cmd v3: - Add feature-checks (Dave Airlie) v4: - Pass max-values for all stages and combined (Erik) Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Erik Faye-Lund authored
This is usedful to accurately communicate the amount of SSBOs supported to the guest-driver, so we can expose the right amount there. Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Tomeu Vizoso authored
Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> [airlied: moved define up] Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Tomeu Vizoso authored
As we use that temp to address memory files, make sure it's declared. Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Gert Wollny authored
On pre-4.0 GL hosts that support tesselation this is needed, because otherwise, when the guest issues a patch primitive mesa/gallium will assert. Closes: #31 Fixes: Various piglits from texturesize/tes-texturesize* Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
- 29 Aug, 2018 3 commits
-
-
Erik Faye-Lund authored
In 47324895 (shader: do not redeclare built-ins as precise), I confused a mesa shader-compiler bug with a spec problem. Turns out, redeclaring built-ins as precise is allowed by the spec, just the same as invariant variables. And even mesa allows this. What mesa doesn't currently allow, is to redeclare a variable as *both* invariant *and* precise. This problem does not extend to new declarations, where this is already handled correctly. So, let's avoid emitting both; it's not really needed to emit both, as they essentially have the same effect (disable reordering), just with some different usage-semantics. And for the cases we support, these are effectively the same. This fixes dEQP-GLES31.functional.tessellation.common_edge.*_precise without breaking dEQP-GLES2.functional.shaders.algorithm.hsl_to_rgb_vertex this time. Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Gert Wollny authored
When enabling/disabling GL_BLEND via vrend_blend_enable the context cached the last state and doesn't call glEnable/glDisable if the state didn't change. However, when gl(Enable|Disable)IndexedEXT is used with index 0, then this vrenderer internal state is not updated even though the corresponding GL state may be changed, and calling vrend_blend_enable later may not update the actual OpenGL state correctly. In order to avoid this and to simplify the setting the blend enabled state remove the caching and always call glEnable/glDisable directly. v2: remove caching for blend enabled/disabled (Dave) Closes: #23 Fixes state leak with: dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common. common_separate_blend_eq_buffer_separate_blend_eq common_separate_blend_eq_buffer_advanced_blend_eq Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Pohsien Wang authored
Before calling tgsi_text_translate, check the last 4 bytes of shader contains the terminating character. TEST=WebGLAquarium [airlied: unfortunately some mesa userspace sends a packet with 0 shader in it, this should be illegal but we can't go trapping it now. just include the check for termination] Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
- 28 Aug, 2018 1 commit
-
-
Erik Faye-Lund authored
When we set the srgb-decode state, we might overwrite another incompatible usage of the same sampler object. To avoid this, create two sampler-objects, one for the decode-state and one for the skip-decode state. This fixes the following dEQP-tests on GLES: - dEQP-GLES31.functional.srgb_texture_decode.skip_decode.srgba8.conversion_gpu - dEQP-GLES31.functional.srgb_texture_decode.skip_decode.srgba8.toggled - dEQP-GLES31.functional.srgb_texture_decode.skip_decode.srgba8.multiple_textures Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
- 22 Aug, 2018 3 commits
-
-
Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com>
-
Make sure the next renderer is a cleaned up one. Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com>
-
Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com>
-
- 21 Aug, 2018 2 commits
-
-
The enhanced layout extension allows for gaps in the streamout bindings so we have to be able to handle no-handles in the middle of the target array. TGSI also has to deal with components outputs where multiple outputs can be mentioned in the TGSI. It's safe for use to just skip the extra outputs at least for the tests I've been able to run. Once we have those changes in place, the renderer can expose the new CAP bit to the host without any further host extension checks. Reviewed-by:
Jakob Bornecrantz <jakob@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com>
-
Alpha-textures are supported on GLES, unlike on OpenGL core profiles. So we need to check for the difference here, otherwise we get textures uploaded as alpha-textures, and then attempted swizzled as if they were emulated as red-textures. This fixes the following dEQP test-cases: dEQP-GLES31.functional.texture.border_clamp.formats.alpha.nearest_size_pot dEQP-GLES31.functional.texture.border_clamp.formats.alpha.nearest_size_npot dEQP-GLES31.functional.texture.border_clamp.formats.alpha.linear_size_pot dEQP-GLES31.functional.texture.border_clamp.formats.alpha.linear_size_npot dEQP-GLES31.functional.texture.border_clamp.unused_channels.alpha Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org> Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Signed-off-by:
Jakob Bornecrantz <jakob@collabora.com>
-