b7d3c71d649348e0454c9a1a180cfeefcbea6452 |
|
30-Mar-2017 |
Alex Smith <asmith@feralinteractive.com> |
radv: Invalidate L2 for TRANSFER_WRITE barriers CP DMA and PKT3_WRITE_DATA (in CmdUpdateBuffer) don't (currently) write through L2. Therefore, to make these writes visible to later accesses we must invalidate L2 rather than just writing it back, to avoid the possibility that stale data is read through L2. Signed-off-by: Alex Smith <asmith@feralinteractive.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Cc: "17.0" <mesa-stable@lists.freedesktop.org> [Bas: patch is a backport for 17.0 of the cherry-pick below] (cherry picked from commit bc5d587a80b64fb3e0a5ea8067e6317fbca2bbc5)
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
45e133ab3bc0d182e5a2a8ebd4db725499c8ab09 |
|
28-Mar-2017 |
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
radv: flush DB cache before and after HTILE decompress. It reads @ writes the DB cache, and we haven't flushed dst caches yet, so DB cache may be stale. Also the user might be shader read (and probably is), so also flush after. Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Dave Airlie <airlied@redhat.com> CC: <mesa-stable@lists.freedesktop.org> Fixes: f4e499ec791 ("radv: add initial non-conformant radv vulkan driver") (cherry picked from commit a8c51b1cd9168b621e27cf5308d0dd8fc08f8a4a) [Andres Gomez: resolve trivial conflicts] Signed-off-by: Andres Gomez <agomez@igalia.com> Conflicts: src/amd/vulkan/radv_cmd_buffer.c
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
348c8c34c35d8fce8184f137fb8ce85479ec9a63 |
|
19-Mar-2017 |
Dave Airlie <airlied@redhat.com> |
radv: fix primitive reset index emission This was meant to be checking the index type to get the correct index not the last emitted one. This fixes: dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.triangle_strip_with_adjacency Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Cc: "13.0 17.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit d06e168b878be45029bf66c2ac627d16144a7823)
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
09646cce2f1850fcb3dc8790bc76466ac3087c8c |
|
07-Mar-2017 |
Fredrik Höglund <fredrik@kde.org> |
radv: fix the dynamic buffer index in vkCmdBindDescriptorSets This fixes the wrong dynamic buffer descriptors being updated when firstSet > 0. Cc: 17.0 <mesa-stable@lists.freedesktop.org> Signed-off-by: Fredrik Höglund <fredrik@kde.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (cherry picked from commit 0941d1a574f46c558b0037be81d9a57004f4290b)
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
f21cc864ba3135d7b8e6eff054b80d5f86543c61 |
|
06-Mar-2017 |
Alex Smith <asmith@feralinteractive.com> |
radv: Emit pending flushes before executing a secondary command buffer If we have any pending flushes on the primary command buffer, these must be performed before executing the secondary buffer. This fixes potential corruption when the contents of a subpass which clears any of its render targets are given in a secondary buffer: the flushes after a fast clear would not have been performed until the vkCmdEndRenderPass call. Signed-off-by: Alex Smith <asmith@feralinteractive.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Cc: 13.0 17.0 <mesa-stable@lists.freedesktop.org> (cherry picked from commit 290d7e892dfa6d04767142f4f6d7ec689933a105)
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
3169c9818bcaeb9e38fad8eaf5ec6772816d7f91 |
|
26-Feb-2017 |
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
radv: Reset emitted compute pipeline when calling secondary cmd buffer. Otherwise if the new compute pipeline is the same as the last used pipeline before the call, we don't emit it again. Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Cc: 13.0 17.0 <mesa-stable@lists.freedesktop.org> (cherry picked from commit bb878db7eb94e48476a920d66174a45da2585e19)
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
8917af11f7e5eda9437fc255f916c70238c0c337 |
|
30-Jan-2017 |
Dave Airlie <airlied@redhat.com> |
radv: handle transfer_write as a dst flag. It appears we can get image barriers like: srcStageMask: VkPipelineStageFlags = 4096 (VK_PIPELINE_STAGE_TRANSFER_BIT) dstStageMask: VkPipelineStageFlags = 4096 (VK_PIPELINE_STAGE_TRANSFER_BIT) dependencyFlags: VkDependencyFlags = 0 memoryBarrierCount: uint32_t = 0 pMemoryBarriers: const VkMemoryBarrier* = NULL bufferMemoryBarrierCount: uint32_t = 0 pBufferMemoryBarriers: const VkBufferMemoryBarrier* = NULL imageMemoryBarrierCount: uint32_t = 1 pImageMemoryBarriers: const VkImageMemoryBarrier* = 0x7ffc882367b0 pImageMemoryBarriers[0]: const VkImageMemoryBarrier = 0x7ffc882367b0: sType: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER (45) pNext: const void* = NULL srcAccessMask: VkAccessFlags = 4096 (VK_ACCESS_TRANSFER_WRITE_BIT) dstAccessMask: VkAccessFlags = 4096 (VK_ACCESS_TRANSFER_WRITE_BIT) oldLayout: VkImageLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL (7) newLayout: VkImageLayout = VK_IMAGE_LAYOUT_GENERAL (1) srcQueueFamilyIndex: uint32_t = 4294967295 dstQueueFamilyIndex: uint32_t = 4294967295 image: VkImage = 0x2df55e0 subresourceRange: VkImageSubresourceRange = 0x7ffc882367e0: aspectMask: VkImageAspectFlags = 1 (VK_IMAGE_ASPECT_COLOR_BIT) baseMipLevel: uint32_t = 0 levelCount: uint32_t = 1 baseArrayLayer: uint32_t = 0 layerCount: uint32_t = 1 This fixes all the CTS dEQP-VK.memory.pipeline_barrier.transfer_dst tests here, not sure if this is a too large hammer. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Cc: "17.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit a1c1ba7d5649cca450ca81bf87be36c035a01db0)
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
c63652b8acb74e8b0a0db2a90c34178bb0d1216e |
|
18-Jan-2017 |
Dave Airlie <airlied@redhat.com> |
radv: program a default point size. Along the lines of what 3b804819 anv: Default PointSize to 1.0 if not written by the shader does for anv, program a default point size in the hw of 1.0. This preempt fixes a bunch of geom shader tests. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Cc: "17.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 2ab2be092d15ddb449b4a215609705bae68089a0)
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
aac562f112ea9194b416c97336dcbbd3c1da812b |
|
17-Jan-2017 |
Dave Airlie <airlied@redhat.com> |
radv: disable vertex reuse when writing viewport index This fixes some issues we'd hit later if using viewport indexes. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
6b635bbe16c93ad13afa3390d20c2f0f033e065d |
|
16-Jan-2017 |
Dave Airlie <airlied@redhat.com> |
radv: add support for writing layer/viewport index (v2) This just adds the infrastructure to allow writing layer and viewport index. It's just a first patch out of the geom shader tree, and doesn't do much on its own. v2: add missing if statement change (Bas) Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
8406f79d6a3511dc6bf4d9c2ab3a80828c363d3a |
|
16-Jan-2017 |
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
radv: Get physical device from radv_device instead of the instance. Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
97dfff54105ac10b6e2daace020687eefdcc28c0 |
|
23-Dec-2016 |
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
radv: Dump command buffer on hang. v2: - Now use the filename specified by RADV_TRACE_FILE env var. - Use the same var to enable tracing. I thought we could as well always set the filename explicitly instead of having some arbitrary defaults, and at that point we don't need a separate feature enable. Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
059af2515ad778f569e999547cb44a195f66c198 |
|
27-Dec-2016 |
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
radv: Also skip DCC clear flushes for compute. (airlied: fixes DOOM hang with compute queue enabled) Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
9d23b8a18e3e83c629f575f94b66c347ec81d704 |
|
21-Dec-2016 |
Dave Airlie <airlied@redhat.com> |
radv: flush smem for uniform buffer bit. (cc'ing stable as I'd like to backport the ubo speedup as well) Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Cc: "13.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
accc5fc026ec45171c458334bdee16747fbe7824 |
|
17-Dec-2016 |
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
radv: Don't enable CMASK on compute queues. We can't fast clear on compute queues. Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
9b0efc98ba00467681a72107f1f2eb9025536540 |
|
12-Dec-2016 |
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
radv: Implement indirect dispatch for the MEC. Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
d0e6fb057444df3b165ea02fe5b063a7b24f2010 |
|
01-Dec-2016 |
Dave Airlie <airlied@redhat.com> |
radv: init compute queue and avoid initing transfer queues Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
94a7434bbc26590943fed5879d49bbc3395da6e5 |
|
01-Dec-2016 |
Dave Airlie <airlied@redhat.com> |
radv: Store queue family in command buffers. v2: Added helper (Bas) Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
9bff2c98847e6ea3958411c2be70c3f5e1d70032 |
|
10-Dec-2016 |
Grazvydas Ignotas <notasas@gmail.com> |
radv: fix release build unused variable warnings Just mark with MAYBE_UNUSED. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
ae61ddabe8cfa1e2c8c55c478a7ea70563f64b63 |
|
28-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: move userdata sgpr ownership to compiler side. This isn't fully what we want yet, but is a good step on the way. This allows the compiler to create the information structures for the state setting side, however the state setting still expects things to be pretty much in 2 sgpr wide register sets, and can't handle the indirect setting yet. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
221ab77956d20a999da34c8bd2ace4bc06f4ee42 |
|
28-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: refactor out the constant setting user sgpr code. This just refactors out some common code to make future changes easier to understand. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
11208f0049431a08328692874988503cd7742ede |
|
28-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: refactor out the descriptor user sgpr setting. This just splits some common code into a utility function. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
a74a4edc90a6a6fddfcf5e5d72c301bcf13ad125 |
|
28-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: only bind descriptor sets to stages that need them This copies the push constant code and only binds descriptor sets to the stages that need them. It also now has to dirty descriptors on pipeline binds. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
85118a1e4d27cdb7a3c5b958f325954c7166a647 |
|
28-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: move descriptor set userdata emission to draw flush time. This is another step towards having the compiler decide the user sgpr layout. This still emits the descriptors sets for all shader types, but we will fix this later. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
a5d10844eef71095cea3c1a921108c3bccc8ba01 |
|
28-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: refactor descriptor set userdata emission out. This just moves this into a separate function. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
f8476769902b6c39eafb517d4412e3e52d46147b |
|
28-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: pass pipeline to constant flush function I'll need this later rather than just the layout. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
eb2ba5c8df2149f92298e090508f1193026811a9 |
|
28-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: consolidate compute pipeline flushing (v1.1) This just moves some common code into a utility function to avoid having to change multiple places later. v1.1: rename function to better reflect what it does. (Bas) Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
048143b9d9113785d2e455e5270f762348d08761 |
|
24-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: set spi_baryc_cntl.pos_float_location to 0 This fixes: dEQP-VK.pipeline.multisample_interpolation.offset_interpolate_at_sample_position.* This should probably be 2 when sample shading is enabled, but I'm not sure. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
f3a3fea973a145fe16f70866dcfc22c3c5322a91 |
|
24-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: force persample shading when required. We need to force persample shading when a) shader uses sample_id b) shader uses sample_position c) shader uses sample qualifier. Also since ps_iter_samples can now change independently of the rasterizer samples we need to move setting the regs more often. This fixes: dEQP-VK.pipeline.multisample_interpolation.centroid_interpolate_at_consistency.* dEQP-VK.pipeline.multisample_interpolation.centroid_qualifier_inside_primitive.137_191_1.* dEQP-VK.pipeline.multisample_interpolation.sample_interpolate_at_distinct_values.* dEQP-VK.pipeline.multisample_interpolation.sample_qualifier_distinct_values.128_128_1.* Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
28c781b574605edd713526581daec1c464d1aff3 |
|
23-Nov-2016 |
Fredrik Höglund <fredrik@kde.org> |
radv: add support for VK_AMD_draw_indirect_count Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
ea417f53354b5ea65c7c4863a4f336dda23bf019 |
|
25-Oct-2016 |
Dave Airlie <airlied@redhat.com> |
radv: move pipeline barrier image transitions after src flushing This seems like it would conform better with the spec. noticed while digging into fast clears. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
51a44c0021398177d56f86b7fb8d63673186a380 |
|
17-Nov-2016 |
Dave Airlie <airlied@redhat.com> |
radv: make sure to flush input attachments correctly. This fixes 9 of the dEQP-VK.renderpass.attachment_allocation.input_output.* tests. Cc: "13.0" <mesa-stable@lists.freedesktop.org> Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
a969548f59342330badf78ec7721a1ead7599a29 |
|
19-Oct-2016 |
Dave Airlie <airlied@redhat.com> |
radv: allow cmask transitions without fast clear This fixes dEQP-VK.pipeline.multisample.sampled_image* These all render to multisampled image, and then sample from it, so we must transition it correctly, since we have a cmask and fmask this will cause the correct transition. Cc: "13.0" <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
86c4575a813bb57d1af3e3a0bb0c3eb44f27aedf |
|
19-Oct-2016 |
Dave Airlie <airlied@redhat.com> |
radv: decompress fmask before reading using texture unit Before we can read the fmask using the compute shader, we need to decompress the fmask in place. This fixes a bunch of remaining failure and hopefully multisampling in Talos.
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
b0e11a153c4b8cd9bf29bdb8e26a776de241a5b4 |
|
10-Oct-2016 |
Dave Airlie <airlied@redhat.com> |
radv: start using defines for the user sgpr offsets This adds some comments and adds defines for the user sgprs, so that we can move them around easier later and not have to change/revalidate every one of these. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
4450f405195d77f8bcc3fbd3e590405c8f540fab |
|
14-Oct-2016 |
Dave Airlie <airlied@redhat.com> |
radv: move to using shared vk_alloc inlines. This moves to the shared vk_alloc inlines for vulkan memory allocations. Acked-by: Jason Ekstrand <jason@jlekstrand.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|
f4e499ec79147f4172f3669ae9dafd941aaeeb65 |
|
07-Oct-2016 |
Dave Airlie <airlied@redhat.com> |
radv: add initial non-conformant radv vulkan driver This squashes all the radv development up until now into one for merging. History can be found: https://github.com/airlied/mesa/tree/semi-interesting This requires llvm 3.9 and is in no way considered a conformant vulkan implementation. It can run a number of vulkan applications, and supports all GPUs using the amdgpu kernel driver. Thanks to Intel for providing anv and spirv->nir, and Emil Velikov for reviewing build integration. Parts of this are: Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net> Authors: Bas Nieuwenhuizen and Dave Airlie Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_cmd_buffer.c
|