- 24 May, 2019 4 commits
-
-
xantares authored
-
If descriptorType is VK_DESCRIPTOR_TYPE_STORAGE_IMAGE or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the imageView member of each element of pImageInfo must have been created with the identity swizzle. Fixes: d2aa65eb Signed-off-by:
Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Tapani Pälli authored
Verified to work properly with Iris driver on Android Celadon. Cache files get generated as 'com.android.opengl.shaders_cache' for each application. v2: check that cache was returned (Eric Engestrom) Signed-off-by:
Tapani Pälli <tapani.palli@intel.com> Reviewed-by:
Eric Engestrom <eric.engestrom@intel.com>
-
Alyssa Rosenzweig authored
Now that the online compiler and pandecode are reliable and upstreamed, nobody is using this. If somebody does need it, it should be easy enough to bring back, I suppose. At the moment, it's just a maintenance hazard, since meson is silly and does double builds for compiler updates (triple for disassembler changes). If people need the standalone _disassembler_, that can be added trivially into pandecode (pandecode already includes the disassembler). Signed-off-by:
Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by:
Ryan Houdek <Sonicadvance1@gmail.com>
-
- 23 May, 2019 14 commits
-
-
src/vulkan/util/vk_enum_to_str.c: In function ‘vk_structure_type_size’: src/vulkan/util/vk_enum_to_str.c:3335:9: warning: case value ‘1000010000’ not in enumerated type ‘VkStructureType’ {aka ‘const enum VkStructureType’} [-Wswitch] case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: return sizeof(VkNativeBufferANDROID); ^~~~ Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Kenneth Graunke authored
This lets us advertise GL_EXT_shader_framebuffer_fetch and GL_KHR_blend_equation_advanced_coherent support.
-
Kenneth Graunke authored
st/mesa now exposes KHR_blend_equation_advanced_coherent and EXT_shader_framebuffer_fetch if the new capability is supported. Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Kenneth Graunke authored
This extension requires the ability to read from all render targets, so we only enable it if PIPE_CAP_FBFETCH >= PIPE_CAP_MAX_RENDER_TARGETS. Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Kenneth Graunke authored
TGSI's FBFETCH instruction currently only supports reading from a single render target, but NIR intrinsics can support multiple render targets. radeonsi can only support fetching from RT 0, but other drivers may be able to support fetching from any render target. To express this, this patch renames PIPE_CAP_TGSI_FS_FBFETCH to simply PIPE_CAP_FBFETCH, and converts it from a boolean "is FBFETCH supported?" to an integer number of render targets which can be fetched. Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Kenneth Graunke authored
Felix noticed a crash when using INTEL_DEBUG=bat decoding. It turned out that we were sometimes placing variable length data near the end of a buffer, and with the decoder guessing random lengths rather than having an actual count, it was walking off the end and crashing. So this does more than improve the decoder output. Unfortunately, this is a bit more complicated than i965's handling, because we don't have a single state buffer. Various places upload data via u_upload_mgr, and so there isn't a central place to record the size. We don't need to catch every single place, however, since it's only important to record variable length packets (like viewports and binding tables). State data also lives arbitrarily long, rather than being discarded on every batch like i965, so we don't know when to clear out old entries either. (We also don't have a callback when an upload buffer is released.) So, this tracking may space leak over time. That's probably okay though, as this is only a debugging feature and it's a slow leak. We may also get lucky and overwrite existing entries as we reuse BOs, though I find this unlikely to happen. The fact that the decoder works in terms of offsets from a state base address is also not ideal, as dynamic state base address and surface state base address differ for iris. However, because dynamic state addresses start from the top of a 4GB region, and binding tables start from addresses [0, 64K), it's highly unlikely that we'll get overlap. We can always improve this, but for now it's better than what we had.
-
`-Wswitch` applies to `switch()`, not `case:`, and is bypassed by the presence of a `default:` anyway, so let's drop the `default:` and move the warning suppression to where it can make a difference, and then it turns out that we don't need to keep a list of special cases anymore :) Signed-off-by:
Eric Engestrom <eric.engestrom@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Erik Faye-Lund authored
INTEL_conservative_rasterization isn't exposed on compatibility contexts, nor for GLES 3.0 and below. We already do this correctly for gl{Enable,Disable}, but we should do the same for glIsEnabled as well. Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com>
-
Erik Faye-Lund authored
IsEnabled(FRAGMENT_PROGRAM) isn't supposed to be allowed, but our check allowed this anyway. Let's make these checks consistent, and while we're at it, modernize them a bit. Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com>
-
Erik Faye-Lund authored
IsEnabled(TEXTURE_CUBE_MAP) isn't supposed to be allowed, but our check allowed this anyway. Let's make these checks consistent, and while we're at it, modernize them a bit. Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com>
-
Erik Faye-Lund authored
These are already defined as the exactly same, so let's get rid of the duplicate definitions. Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com>
-
Erik Faye-Lund authored
The 'CAP' argument has been unused in both of these macros since 2010, so let's get rid of it from both. Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com>
-
Erik Faye-Lund authored
The first version of this macro is unused, so let's get rid of it. Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com>
-
Timothy Arceri authored
This greatly simplifies the code to calculate if we should add a buffer to the resource list. This uses the spec rules and simple math to decide if we should add the buffer rather than complex string processing. This patch refines a patch present in the ARB_gl_spriv merge request for the NIR linker and applies it to the GLSL IR linker. This is why we also move the function to the shared linker code, because we will want to reuse the code for the NIR linker also. Reviewed-by:
Tapani Pälli <tapani.palli@intel.com>
-
- 22 May, 2019 12 commits
-
-
Chia-I Wu authored
virgl_transfer_queue_is_queued was used to avoid flushing. That fails when the resource is being accessed by previous cmdbufs but not the current one. The new approach of tracking the valid buffer range does not apply to textures however. But hopefully it is fine because the goal is to avoid waiting for this scenario glBufferSubData(..., offset, size, data1); glDrawArrays(...); // append new vertex data glBufferSubData(..., offset+size, size, data2); glDrawArrays(...); If glTex(Sub)Image* turns out to be an issue, we will need to track valid level/layer ranges as well. v2: update virgl_buffer_transfer_extend as well v3: do not remove virgl_transfer_queue_is_queued Signed-off-by:
Chia-I Wu <olvaffe@gmail.com> Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> (v1) Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> (v2)
-
Chia-I Wu authored
st/mesa does not need it and virglrenderer does not really support it. Remove the support so that we are sure pipe_surface never refers to a buffer resource. Signed-off-by:
Chia-I Wu <olvaffe@gmail.com> Reviewed-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org>
-
Chia-I Wu authored
When shader images/buffers are set, do not rely on virgl_encoder_write_res and virgl_resource_dirty to do the implicit NULL check. Signed-off-by:
Chia-I Wu <olvaffe@gmail.com> Reviewed-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Gurchetan Singh <gurchetansingh@chromium.org>
-
Lionel Landwerlin authored
On machines with many cores, you can run into that issue : ../mesa-9999/src/vulkan/overlay-layer/overlay.cpp:42:10: fatal error: vk_enum_to_str.h: No such file or directory v2: Move declare_dependency around (Eric) Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reported-by: Jan Ziak Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by:
Eric Engestrom <eric.engestrom@intel.com>
-
The DRM_CONF_SHARE_FD code did not check for Linux, so the commit that introduced PIPE_CAP_DMABUF broke Wayland-EGL clients on FreeBSD. Fixes: 8ae50e60 (gallium: replace DRM_CONF_SHARE_FD with PIPE_CAP_DMABUF) Reviewed-by:
Dylan Baker <dylan@pnwbakers.com> Reviewed-by:
Eric Engestrom <eric.engestrom@intel.com>
-
Tapani Pälli authored
Fixes: 4756864c ""iris: Start wiring up on-disk shader cache Signed-off-by:
Tapani Pälli <tapani.palli@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Without this gbm_bo_get_offset() can return 0 where it shouldn't. Reviewed-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com> Cc: <mesa-stable@lists.freedesktop.org>
-
Samuel Pitoiset authored
From the Vulkan spec 1.1.108: "After query pool creation, each query must be reset before it is used." So, the driver doesn't need to do this at creation time. Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Samuel Pitoiset authored
It should be 7, not 8. Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Samuel Pitoiset authored
Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Samuel Pitoiset authored
Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Samuel Pitoiset authored
The driver only supports up to 8 samples. Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
- 21 May, 2019 10 commits
-
-
Kenneth Graunke authored
We were checking this based on nir->info.name, but with the shader cache enabled, nir_strip throws out the name, causing us to use IEEE mode for ARB programs. gl-1.0-spot-light regressed because it wants ALT mode for 0^0 behavior. Fixes: dc5dc727 iris: Serialize the NIR to a blob we can use for shader cache purposes.
-
Marek Olšák authored
Don't update non-buffer images. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110701 Fixes: 78e35df5 "radeonsi: update buffer descriptors in all contexts after buffer invalidation" Cc: 19.1 <mesa-stable@lists.freedesktop.org> Tested-By:
Gert Wollny <gert.wollny@collabora..com>
-
Kenneth Graunke authored
This lets st/nir cache the NIR for shaders, based on the shader source string hash, allowing us to skip initial compiles altogether, and also letting us start from there should we need to recompile for NOS. Reviewed-by:
Dylan Baker <dylan@pnwbakers.com>
-
This implements storing and retrieving iris_compiled_shader objects from the on-disk shader cache. (by Dylan Baker and Kenneth Graunke)
-
Kenneth Graunke authored
We will use a hash of the serialized NIR together with brw_prog_*_key (for NOS) as the disk cache key, where the disk cache contains actual assembly shaders. Reviewed-by:
Dylan Baker <dylan@pnwbakers.com>
-
This creates the on-disk shader cache data structure, and handles the build-id keying aspects. The next commits will fill it out so it's actually used. Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org>
-
Kenneth Graunke authored
It had been internal to iris_program.c, but with the upcoming disk cache code, the "program module" is going to be spread across a couple source files. Into a header it goes! Now it lives alongside iris_compiled_shader, which makes sense. Reviewed-by:
Dylan Baker <dylan@pnwbakers.com>
-
Kenneth Graunke authored
I want to use it in iris. Reviewed-by:
Dylan Baker <dylan@pnwbakers.com>
-
Dylan Baker authored
-
Dylan Baker authored
-