- 30 Jan, 2017 12 commits
-
-
Previously the z offset of the destination image was being ignored. It should be taken into account when copying into a 3d target. Also, img_extent_el.depth was being incorrectly clamped to 1 due to the source image being VK_IMAGE_TYPE_2D. This would result in the blit failing to iterate over all the 3d slices. Instead we clamp to the destination image type. Fixes failures in CTS tests: dEQP-VK.api.copy_and_blit.image_to_image.3d_images.* Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Bas Nieuwenhuizen authored
Signed-off-by:
Bas Nieuwenhuizen <basni@google.com> Reviewed-by:
Dave Airlie <airlied@redhat.com> Reviewed-by:
Edward O'Callaghan <funfunctor@folklore1984.net>
-
Bas Nieuwenhuizen authored
We really use the depth block for the blits. Signed-off-by:
Bas Nieuwenhuizen <basni@google.com> Reviewed-by:
Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
There is a new error code in Maintenance1 that is more specific to the situation: VK_ERROR_OUT_OF_POOL_MEMORY_KHR Fixes CTS test case: dEQP-VK.api.descriptor_pool.out_of_pool_memory Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
This is part of the spec and fixes CTS tests: dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_* Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Kenneth Graunke authored
Gallium drivers have had this for a while. It makes sense to support it consistently across drivers, so expose it in i965 as well. Cc: "17.0" <mesa-stable@lists.freedesktop.org> Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Jordan Justen <jordan.l.justen@intel.com>
-
Kenneth Graunke authored
At this point, the pitch is in bytes. We haven't yet divided the pitch by 4 for tiled surfaces, so abs(pitch) may be larger than 32K. This means the bit 15 trick won't work. The caller now has signed integers anyway, so just pass those through and do the obvious check. Cc: "17.0" <mesa-stable@lists.freedesktop.org> Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Bas Nieuwenhuizen authored
v2: Create the descriptor BO with CPU access. Signed-off-by:
Bas Nieuwenhuizen <basni@google.com> Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
Bas Nieuwenhuizen authored
Based on code written by Dave Airlie. Signed-off-by:
Bas Nieuwenhuizen <basni@oogle.com> Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
Bas Nieuwenhuizen authored
Based on code written by Dave Airlie. Signed-off-by:
Bas Nieuwenhuizen <basni@google.com> Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
Bas Nieuwenhuizen authored
Signed-off-by:
Bas Nieuwenhuizen <basni@google.com> Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
- 29 Jan, 2017 9 commits
-
-
Timothy Arceri authored
jip should always be negative here as its the result of do instruction - while instruction. Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org>
-
Timothy Arceri authored
We are casting from a signed 32bit int to an unsigned 16bit int so shift 15 bits rather than 16. Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org>
-
Bas Nieuwenhuizen authored
Forgot the prefix ... Fixes: 0fca80b3 Signed-off-by:
Bas Nieuwenhuizen <basni@google.com>
-
Bas Nieuwenhuizen authored
Since LLVM revision 293359 DumpModule gets only implemented when either a debug build or LLVM_ENABLE_DUMP is set. This patch adds a direct replacement for the function for radv and radeonsi, However, as I don't know a good place to put common LLVM code for all three I inlined the implementation for LLVMPipe. v2: Use the new code for LLVM 3.4+ instead of LLVM 5+ & fixed indentation Signed-off-by:
Bas Nieuwenhuizen <basni@google.com> Reviewed-by:
Roland Scheidegger <sroland@vmware.com>
-
Ilia Mirkin authored
This matches the behavior of most other drivers, including nouveau, radeonsi, and i965. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Nicolai Hähnle <nicolai.haehnle@amd.com>
-
Ilia Mirkin authored
Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Nicolai Hähnle <nicolai.haehnle@amd.com>
-
Emma Anholt authored
This generally cuts an instruction when blending is enabled and we thus have a single instruction generating the color value. total instructions in shared programs: 91759 -> 91634 (-0.14%) instructions in affected programs: 5338 -> 5213 (-2.34%)
-
Emma Anholt authored
shader-db results: total instructions in shared programs: 92611 -> 91764 (-0.91%) instructions in affected programs: 27417 -> 26570 (-3.09%) The star is one shader in glmark2's terrain (drops 16% of its instructions), but there are also wins in mupen64plus and glb2.7.
-
Emma Anholt authored
This has almost no effect on shader-db: total instructions in shared programs: 92572 -> 92611 (0.04%) instructions in affected programs: 4486 -> 4525 (0.87%) Looking at 2 of the 7 different shaders that were hurt (all of which were in mupen64), they all appear to be just differences in order of instructions at the NIR level. The advantage is that this should significantly reduce time in the compiler.
-
- 28 Jan, 2017 5 commits
-
-
Kenneth Graunke authored
Applications may delete a shader program, create a new one, and bind it before the next draw. With terrible luck, malloc may randomly return a chunk of memory for the new gl_program that happened to be the exact same pointer as our previously bound gl_program. In this case, our logic to detect new programs in brw_upload_pipeline_state() would break: if (brw->vertex_program != ctx->VertexProgram._Current) { brw->vertex_program = ctx->VertexProgram._Current; brw->ctx.NewDriverState |= BRW_NEW_VERTEX_PROGRAM; } Because the pointer is the same, we'd think it was the same program. But it could be wildly different - a different stage altogether, different sets of resources, and so on. This causes utter chaos. As unlikely as this seems, I believe I hit this when running a subset of the CTS in a loop, in a group of tests that churns through simple programs, deleting and rebuilding them. Presumably malloc uses a bucketing cache of sorts, and so freeing up a gl_program and allocating a new one fairly quickly causes it to reuse that memory. The result was that brw->vertex_program->info.num_ssbos claimed the program had SSBOs, while brw->vs.base.prog_data.binding_table claimed that there were none. This was crazy, because the binding table is calculated from info.num_ssbos - the shader info appeared to change between shader compile time and draw time. Careful use of watchpoints revealed that it was being clobbered by rzalloc's memset when building an entirely different program... Fortunately, our 0xd0d0d0d0 canary for unused binding table entries caused us to crash out of bounds when trying to upload SSBOs, or we may have never discovered this heisenbug. Fixes crashes in GL45-CTS.compute_shader.sso-case2 when using a hacked cts-runner that only runs GL45-CTS.compute_shader.s* in EGL config ID 5 at 64x64 in a loop with 100 iterations. Cc: "17.0 13.0 12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Timothy Arceri <timothy.arceri@collabora.com> Reviewed-by:
Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Bas Nieuwenhuizen authored
Apparently the source is not an address but an offset, so we actually need to use the base. Signed-off-by:
Bas Nieuwenhuizen <basni@google.com> Reviewed-by:
Dave Airlie <airlied@redhat.com> CC: <mesa-stable@lists.freedesktop.org>
-
Andres Rodriguez authored
This extension was not correctly supported, and it conflicts with the VK_KHR_MAINTENANCE1 spec. Reviewed-by:
Fredrik Höglund <fredrik@kde.org> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
this fixes deferred shadows with geom shaders enabled. but I think this fix is fine by itself. Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 27 Jan, 2017 14 commits
-
-
chadversary authored
This patch implements a new type of struct brw_fence, one that is based struct sync_file. This completes support for EGL_ANDROID_native_fence_sync. * Background Linux 4.7 added a new file type, struct sync_file. See commit 460bfc41fd52959311ed0328163f785e023857af Author: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Date: Thu Apr 28 10:46:57 2016 -0300 Subject: dma-buf/sync_file: de-stage sync_file headers A sync file is a cross-driver explicit synchronization primitive. In a sense, sync_file's relation to synchronization is similar to dma_buf's relation to memory: both are primitives that can be imported and exported across drivers (at least in theory). Reviewed-by:
Rafael Antognolli <rafael.antognolli@intel.com> Tested-by:
Rafael Antognolli <rafael.antognolli@intel.com> Acked-by:
Kenneth Graunke <kenneth@whitecape.org>
-
chadversary authored
Rename to brw_fence_insert_locked(). This is correct because the fence's mutex is effectively locked, as all callers are also *creators* of the fence, and have not yet returned the new fence. This reduces noise in the next patch, which defines and uses brw_fence_insert(), an unlocked variant. Reviewed-by:
Rafael Antognolli <rafael.antognolli@intel.com> Tested-by:
Rafael Antognolli <rafael.antognolli@intel.com> Acked-by:
Kenneth Graunke <kenneth@whitecape.org>
-
chadversary authored
Pre-patch, brw_sync.c ignored the return value of intel_batchbuffer_flush(). When intel_batchbuffer_flush() fails during eglCreateSync (brw_dri_create_fence), we now give up, cleanup, and return NULL. When it fails during glFenceSync, however, we blindly continue and hope for the best because there does not exist yet a way to tell core GL that sync creation failed. Reviewed-by:
Rafael Antognolli <rafael.antognolli@intel.com> Tested-by:
Rafael Antognolli <rafael.antognolli@intel.com> Acked-by:
Kenneth Graunke <kenneth@whitecape.org>
-
chadversary authored
This a refactor patch; no expected changed in behavior. Add `enum brw_fence_type` and brw_fence::type. There is only one type currently, BRW_FENCE_TYPE_BO_WAIT. This patch reduces a lot of noise in the next, which adds new type BRW_FENCE_TYPE_SYNC_FD. Reviewed-by:
Rafael Antognolli <rafael.antognolli@intel.com> Tested-by:
Rafael Antognolli <rafael.antognolli@intel.com> Acked-by:
Kenneth Graunke <kenneth@whitecape.org>
-
chadversary authored
A variant of intel_batchbuffer_flush() with parameters for in and out fence fds. Reviewed-by:
Rafael Antognolli <rafael.antognolli@intel.com> Tested-by:
Rafael Antognolli <rafael.antognolli@intel.com> Acked-by:
Kenneth Graunke <kenneth@whitecape.org>
-
chadversary authored
This bool maps to I915_PARAM_HAS_EXEC_FENCE_FD. Reviewed-by:
Rafael Antognolli <rafael.antognolli@intel.com> Tested-by:
Rafael Antognolli <rafael.antognolli@intel.com> Acked-by:
Kenneth Graunke <kenneth@whitecape.org>
-
These files belong to the vulkan loader. Identical to 045f38a5 vulkan: Don't install vk_platform.h or vulkan.h. Cc: Dave Airlie <airlied@redhat.com> Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Cc: 17.0 <mesa-stable@lists.freedesktop.org> Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Reviewed-by:
Matt Turner <mattst88@gmail.com>
-
Jason Ekstrand authored
I'm pretty sure we've kept up with the bug fixes. Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com>
-
Signed-off-by:
Eric Engestrom <eric.engestrom@imgtec.com> [Emil Velikov: make sure it builds] Signed-off-by:
Emil Velikov <emil.velikov@collabora.com>
-
Analogous to previous commits. Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by:
Jose Fonseca <jfonseca@vmware.com>
-
Already handled by the build. Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by:
Jose Fonseca <jfonseca@vmware.com>
-
Analogous to previous commits. Cc: George Kyriazis <george.kyriazis@intel.com> Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by:
Jose Fonseca <jfonseca@vmware.com>
-
Analogous to previous commits. Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by:
Jose Fonseca <jfonseca@vmware.com>
-
Correctly handled by the build systems. Cc: Roland Scheidegger <sroland@vmware.com> Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Reviewed-by:
Roland Scheidegger <sroland@vmware.com> Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by:
Jose Fonseca <jfonseca@vmware.com>
-