This set of patches enables compute shaders on r600 and exposes GLSL 4.30
support. They are pretty alpha level, but I'd like to land some of them
(maybe disabled) so I can avoid the rebasing fun with the more intrusive
ones.
It is based on the previous ssbo support patch.
It may not be stable, I
From: Dave Airlie <airl...@redhat.com>
This adds support to compute for the resq workarounds (buffer/cube sizes)
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/evergreen_compute.c | 7 +++
src/gallium/drivers/r600/r600_pipe.h | 2 ++
From: Dave Airlie <airl...@redhat.com>
Just reuse the cs atomics bit and emit the hw atomic state.
---
src/mesa/state_tracker/st_atom_atomicbuf.c | 4
src/mesa/state_tracker/st_context.c| 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/mesa/state_t
From: Dave Airlie <airl...@redhat.com>
This just lets us see packets marked for compute.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/eg_debug.c | 13 +++--
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/gallium/drivers/r60
From: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_state_common.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/drivers/r600/r600_state_common.c
b/src/gallium/drivers/r600/r600_state_common.c
index b6a4728..e312b33 100644
--- a/src/gallium/driver
From: Dave Airlie <airl...@redhat.com>
This just builds on the image support. Evergreen only has ssbo
for fragment and compute no other stages.
v2: handle images and ssbo in the same shader properly (Ilia)
v3: fix RESQ on buffers,
fix missing atom emit
fix first element offset
From: Dave Airlie <airl...@redhat.com>
This fixes overlaps where src/dst are the same.
Fixes a bunch of the deqp bitfield tests.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_shader.c | 29 -
1 file changed, 24 inse
From: Dave Airlie <airl...@redhat.com>
this won't change over the driver lifetime, so just set it
in the wsi_device at init, and avoid passing it around
afterwards.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_wsi.c | 3 +--
src/amd/vulkan/ra
From: Dave Airlie <airl...@redhat.com>
Jason dropped this elsewhere, just seemed to miss here.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_wsi_x11.c | 4 ++--
src/intel/vulkan/anv_wsi_x11.c | 4 ++--
src/vulkan/wsi/wsi_common_x11.c | 5 -
sr
Daniel or Chad to look some of it over, but
I'm happy to
give
Reviewed-by: Dave Airlie <airl...@redhat.com>
for the whole series, it really makes the WSI and prime into a contained space,
and is what I wished the initial modifier series had looked like :-)
Dave.
_
From: Dave Airlie <airl...@redhat.com>
On cayman it appears the cmp component is now in Z.
Fixes:
arb_shader_image_load_store-dead-fragments on cayman.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_shader.c | 7 +--
1 file changed, 5 inse
From: Dave Airlie <airl...@redhat.com>
This fixes hangs on cayman with
tests/spec/arb_tessellation_shader/execution/trivial-tess-gs_no-gs-inputs.shader_test
This has a single if/else in it, and when this peephole activated,
it would set the jump target to NULL if there was no instruction
From: Dave Airlie <airl...@redhat.com>
This fixes hangs on cayman with
tests/spec/arb_tessellation_shader/execution/trivial-tess-gs_no-gs-inputs.shader_test
This has a single if/else in it, and when this peephole activated,
it would set the jump target to NULL if there was no instruction
in a different source file...).
Reviewed-by: Dave Airlie <airl...@redhat.com>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
From: Dave Airlie <airl...@redhat.com>
If the TCS doesn't read back the outputs, no need to store them
to LDS in the first place. (except for tess factors).
This seems to give about 50fps (3290->3330) with tessellation demo.
I haven't tested if it impacts DoW3 at all.
Signed-off
From: Dave Airlie <airl...@redhat.com>
This is to be used for TCS optimisations on radv.
v2: don't set written on reads (nha)
---
src/compiler/nir/nir_gather_info.c | 40 ++
src/compiler/shader_info.h | 2 ++
2 files changed, 30 insertions(
From: Dave Airlie <airl...@redhat.com>
This passes all the tests in piglit.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
docs/features.txt| 2 +-
docs/relnotes/17.4.0.html| 1 +
src/gallium/drivers/r600/evergreen_state.c |
From: Dave Airlie <airl...@redhat.com>
This just builds on the image support. Evergreen only has ssbo
for fragment and compute no other stages.
v2: handle images and ssbo in the same shader properly (Ilia)
---
docs/features.txt| 4 +-
src/gallium/driver
From: Dave Airlie <airl...@redhat.com>
This just builds on the image support. Evergreen only has ssbo
for fragment and compute no other stages.
---
docs/features.txt| 4 +-
src/gallium/drivers/r600/evergreen_state.c | 131 ++-
src/g
From: Dave Airlie <airl...@redhat.com>
There is no need to have these overlap if we support hw atomics.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/mesa/state_tracker/st_atom_storagebuf.c | 8 +---
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 14 --
2 f
On 17 November 2017 at 09:41, Charmaine Lee <charmai...@vmware.com> wrote:
>
> Reviewed-by: Charmaine Lee <charmai...@vmware.com>
>
Oops,
Acked-by: Dave Airlie <airl...@redhat.com>
>
> From: Brian Paul <bri...@vmwar
On 17 November 2017 at 08:00, Gert Wollny <gw.foss...@gmail.com> wrote:
> Am Mittwoch, den 15.11.2017, 11:28 +1000 schrieb Dave Airlie:
>> On 15 November 2017 at 04:50, Gert Wollny <gw.foss...@gmail.com>
>> wrote:
>> > Although the EOP bit is do
From: Dave Airlie <airl...@redhat.com>
This just uses the vulkan api to get the fd from the memory.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_wsi.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/amd/vulkan/radv
From: Dave Airlie <airl...@redhat.com>
We ignore layout currently, not sure what would be correct to pass.
(this is based on Jason's last wsi rfc)
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_meta.h | 4
src/amd/vulkan/radv_meta
From: Dave Airlie <airl...@redhat.com>
This just seems cleaner, and we may expand this in future.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_wsi.c | 3 ++-
src/intel/vulkan/anv_wsi.c | 3 ++-
src/vulkan/wsi/wsi_common.h |
adv and, in my opinion,
> actually makes the radv code more straightforward.
For the record, PRIME is not radv specific, stop trying to make it so,
anv should support display to other GPUs.
I've tested these patches work and I'm only acking them because nobody
seems to be listening to my object
On 15 November 2017 at 04:50, Gert Wollny wrote:
> Although the EOP bit is documented for the vertex fetch clause, it is not
> properly interpreted. As a result the piglit
> spec/arb_tessellation_shader/execution/trivial-tess-gs_no-gs-inputs
> creates a TESS_EVAL shader
From: Dave Airlie <airl...@redhat.com>
This should avoid emitting anything in the shader if we aren't
accessing any inputs.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_shader.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff
From: Dave Airlie <airl...@redhat.com>
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
docs/features.txt | 14 +++---
docs/relnotes/17.4.0.html | 2 ++
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/docs/features.txt b/docs/features.txt
index 86d0
From: Dave Airlie <airl...@redhat.com>
We need the thread id to use the immediate buffer readback
mechanism, so add support for calculating it.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_shader.c | 74 ++
1 file
From: Dave Airlie <airl...@redhat.com>
In order to image readback we have to execute a MEM_RAT instruction
that needs a buffer to transfer the result into until the shader
can fetch it.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_buffer_c
From: Dave Airlie <airl...@redhat.com>
Until we can work further on sb, disable it for images for now.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_shader.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/r600/r600_sha
From: Dave Airlie <airl...@redhat.com>
This also enables GL4.2 for gpus with hw fp64 (cayman, cypress)
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_pipe.c | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/gal
From: Dave Airlie <airl...@redhat.com>
This isn't 100% perfect (fglrx also fails a bunch of those tests)
but implement the start of a memory barrier for image support.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_pipe_common.c | 5 -
From: Dave Airlie <airl...@redhat.com>
This adds support to the shader assembler for load/store/atomic
ops on images which are handled via the RAT operations.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_shader.c | 316
From: Dave Airlie <airl...@redhat.com>
This implements proper handling for shaders with side effects.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/evergreen_state.c | 10 +++---
src/gallium/drivers/r600/evergreend.h | 6 ++
2 files
From: Dave Airlie <airl...@redhat.com>
This adds support for the RESQ opcode with the workaround
required due to hw bugs for buffers and cube arrays.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_shader.c | 78 ++--
From: Dave Airlie <airl...@redhat.com>
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_shader.c | 1 +
src/gallium/drivers/r600/r600_shader.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/gallium/drivers/r600/r600_shader.c
b/src/gallium/
From: Dave Airlie <airl...@redhat.com>
This adds the atoms and gallium api implementations,
along with support for compress/decompress paths for
shader images.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/evergreen_state.c | 294
I've been hacking on this on/off for quite a while now, and I think
I'm finally happy with where is has reached.
It's not 100% on piglits, but it's quite close, and better than fglrx
does, so I'd probably prefer to land it before doing too much more
destructive hacking on it!
If you have a
On 15 November 2017 at 01:12, Andres Gomez wrote:
> Dave, this nominated patch landed without mentioning any specific
> stable queue.
>
> From what I'm seeing, they depend on ea1b97714d9b which didn't make it
> for 17.2 so I'm dropping it for that queue.
>
> Let me know what
From: Dave Airlie <airl...@redhat.com>
A lot of cubemap array piglits fail, port the texture type
picking code from radeonsi which seems to fix most of them.
For images I will port the rest of the code.
Fixes:
getteximage-depth gl_texture_cube_map_array-*
fbo-generatemipmap-cubemap
From: Dave Airlie <airl...@redhat.com>
This is to be used for TCS optimisations on radv.
---
src/compiler/nir/nir_gather_info.c | 29 ++---
src/compiler/shader_info.h | 2 ++
2 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/src/compil
From: Dave Airlie <airl...@redhat.com>
If the TCS doesn't read back the outputs, no need to store them
to LDS in the first place. (except for tess factors).
This seems to give about 50fps (3290->3330) with tessellation demo.
I haven't tested if it impacts DoW3 at all.
Signed-off
Reviewed-by: Dave Airlie <airl...@redhat.com>
On 14 November 2017 at 09:45, Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl>
wrote:
> Otherwise we can leak the old syncobj.
>
> Fixes: eaa56eab6da "radv: initial support for shared semaphores (v2)"
> ---
&g
From: Dave Airlie <airl...@redhat.com>
This reverts two of the vk_error changes:
reporting unsupported format is common,
and testing non-amdgpu drivers and ignoring them is also common.
Fixes: cd64a4f70 (radv: use vk_error() everywhere an error is returned)
Signed-off-by: Dave Airlie
From: Dave Airlie <airl...@redhat.com>
This fixes some dEQP tests that generated bad shaders.
Fixes: b6f6ead19 (virgl: drop const dimensions on first block.)
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/virgl/virgl_tgsi.c | 1 -
1 file changed, 1 delet
From: Dave Airlie <airl...@redhat.com>
Fixes:
tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-bitfieldExtract.shader_test
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_shader.c | 57 +++---
1 file changed, 5
From: Dave Airlie <airl...@redhat.com>
This handles the bits >= 32 corner case in bitfieldInsert.
Fixes:
tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-bitfieldInsert.shader_test.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r60
From: Dave Airlie <airl...@redhat.com>
As per radeonsi, the tess factor components for isolines
are reversed.
Fixes: tests/spec/arb_tessellation_shader/execution/isoline.shader_test
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_shader.c | 7 +++
From: Dave Airlie <airl...@redhat.com>
r0 in input into vertex shaders contains things like vertexid,
we need to reserve it even if we have no inputs.
This fixes a bunch of tessellation piglits.
---
src/gallium/drivers/r600/r600_shader.c | 6 --
1 file changed, 4 insertions(+), 2 del
From: Dave Airlie <airl...@redhat.com>
Like
radeonsi: generate GS prolog to (partially) fix triangle strip adjacency
rotation
evergreen hw suffers from the same problem, so rotate the
geometry inputs to fix this.
This fixes:
./bin/glsl-1.50-geometry-primitive-types GL_TRIANGLE_STRIP_ADJ
From: Dave Airlie <airl...@redhat.com>
Otherwise we end up emitting the fence.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/evergreen_state.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/gallium/drivers/r600/evergreen_state.c
b/src/gal
From: Dave Airlie <airl...@redhat.com>
This isn't needed in r600 anymore.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/drivers/r600/r600_query.c | 46 ++-
src/gallium/drivers/r600/r600_query.h | 4 ---
2 files changed, 13 inser
On 9 November 2017 at 11:54, Dave Airlie <airl...@gmail.com> wrote:
> From: Dave Airlie <airl...@redhat.com>
>
> This adds support for creating the hw atomic tgsi from
> the glsl codepaths.
>
> v2: drop the atomic index and move to backend.
> v3: drop buffer de
From: Dave Airlie <airl...@redhat.com>
This adds a new atom that calls the new driver API to
bind buffers containing hw atomics.
v2: fixup bindings for sparse buffers. (mareko/nha)
don't bind buffer atomics when hw atomics are enabled.
use NewAtomicBuffer (mareko)
Signed-off-by: Dave
From: Dave Airlie <airl...@redhat.com>
This adds support for the evergreen/cayman atomic counters.
These are implemented using GDS append/consume counters. The values
for each counter are loaded before drawing and saved after each draw
using special CP packets.
v2: move hw atomic assi
From: Dave Airlie <airl...@redhat.com>
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
docs/features.txt | 6 +++---
docs/relnotes/17.4.0.html | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/docs/features.txt b/docs/features.txt
index 10ccf9d..86
From: Dave Airlie <airl...@redhat.com>
HW atomics need to use caps to set some limits, and some
other limits may also need limiting.
This fixes things up to work for evergreen hw, it may need
more changes in the future if other hw wants to use this path.
v1.1: fix indent.
Reviewed-by: N
From: Dave Airlie <airl...@redhat.com>
This API binds atomic buffers for all bound shaders (as per the
GL semantics).
This is needed to support cross shader hw atomic counters.
Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
Reviewed-by: Marek Olšák <marek.ol...@amd.
From: Dave Airlie <airl...@redhat.com>
This adds support for creating the hw atomic tgsi from
the glsl codepaths.
v2: drop the atomic index and move to backend.
v3: drop buffer decls. (Marek)
v4: fix off by one (Gert)
Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
Review
From: Dave Airlie <airl...@redhat.com>
This adds support for a hw atomic counters to TGSI.
A new register file for storing atomic counters is added,
along with a new atomic counter semantic, along with docs
for both.
v2: drop semantic, move hw counter to backend,
Ilia pointed out SSO woul
From: Dave Airlie <airl...@redhat.com>
This is needed for the GLSL->TGSI translation for hw atomic counters.
Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
Reviewed-by: Marek Olšák <marek.ol...@amd.com>
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/
Hopefully last pass, a few fixes in here, patch 5 is the only
outstanding non-reviewed one, I think I've fixed the sparse
buffer binding in it well enough, there is also fix for Gert's
off-by one.
Dave.
___
mesa-dev mailing list
From: Dave Airlie <airl...@redhat.com>
This looks like an evergreen specific feature, but with atomic
counters AMD have hw specific counters they use instead of operating
on buffers directly. These are separate to the buffer atomics,
so require different limits and code paths.
I've left t
On 7 November 2017 at 20:45, Gert Wollny <gw.foss...@gmail.com> wrote:
> Am Dienstag, den 07.11.2017, 16:30 +1000 schrieb Dave Airlie:
>> This is the 3rd submission of the gallium/r600 hw atomic counter
>> support.
>>
>> This is fixes some rebase artifac
From: Dave Airlie <airl...@redhat.com>
This is derived from tgsi/radeonsi code from the GLSL intrinsics.
This should pre-fix radv for the upcoming spirv patches.
v2: actually use wait_cnt, sleep deprived dad time! (Bas)
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
sr
From: Dave Airlie <airl...@redhat.com>
This is derived from tgsi/radeonsi code from the GLSL intrinsics.
This should pre-fix radv for the upcoming spirv patches.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/common/ac_nir_to_llvm.c | 32
On 8 November 2017 at 03:26, Nicolai Hähnle <nhaeh...@gmail.com> wrote:
> On 07.11.2017 07:31, Dave Airlie wrote:
>>
>> From: Dave Airlie <airl...@redhat.com>
>>
>> This adds support for the evergreen/cayman atomic counters.
>>
>> These are implem
From: Dave Airlie <airl...@redhat.com>
This adds support for creating the hw atomic tgsi from
the glsl codepaths.
v2: drop the atomic index and move to backend.
v3: drop buffer decls. (Marek)
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/mesa/state_tracker/st_glsl_to_tg
From: Dave Airlie <airl...@redhat.com>
This API binds atomic buffers for all bound shaders (as per the
GL semantics).
This is needed to support cross shader hw atomic counters.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/gallium/docs/source/context.rst | 8
From: Dave Airlie <airl...@redhat.com>
HW atomics need to use caps to set some limits, and some
other limits may also need limiting.
This fixes things up to work for evergreen hw, it may need
more changes in the future if other hw wants to use this path.
v1.1: fix indent.
Reviewed-by: N
From: Dave Airlie <airl...@redhat.com>
This looks like an evergreen specific feature, but with atomic
counters AMD have hw specific counters they use instead of operating
on buffers directly. These are separate to the buffer atomics,
so require different limits and code paths.
I've left t
From: Dave Airlie <airl...@redhat.com>
This adds a new atom that calls the new driver API to
bind buffers containing hw atomics.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/mesa/state_tracker/st_atom_atomicbuf.c | 37
src/mesa/s
From: Dave Airlie <airl...@redhat.com>
This adds support for a hw atomic counters to TGSI.
A new register file for storing atomic counters is added,
along with a new atomic counter semantic, along with docs
for both.
v2: drop semantic, move hw counter to backend,
Ilia pointed out SSO woul
From: Dave Airlie <airl...@redhat.com>
This adds support for the evergreen/cayman atomic counters.
These are implemented using GDS append/consume counters. The values
for each counter are loaded before drawing and saved after each draw
using special CP packets.
v2: move hw atomic assi
This is the 3rd submission of the gallium/r600 hw atomic counter support.
This is fixes some rebase artifacts, removes the BUFFER decls from the
TGSI, and fixes some indirect crashes in the r600 backend,
Dave.
___
mesa-dev mailing list
From: Dave Airlie <airl...@redhat.com>
This is needed for the GLSL->TGSI translation for hw atomic counters.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/mesa/main/mtypes.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main
From: Dave Airlie <airl...@redhat.com>
This might be a bit over optimising.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_cmd_buffer.c | 9 +++---
src/amd/vulkan/radv_descriptor_set.c | 55 +++-
src/amd/vulkan/ra
From: Dave Airlie <airl...@redhat.com>
There's no point recalculating these the whole time on descriptor
emission, just store them at pipeline creation.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_cmd_buffer.c | 14 ++--
src/amd/vulkan/radv_pipel
On 4 November 2017 at 10:01, Marek Olšák wrote:
> Not sure if the "HW" prefix everywhere makes sense since gallium
> doesn't imply there is a hardware driver behind it, but I don't really
> care much.
Well it's more that the atomic's aren't normal ssbo atomics, and there is
>> +Hardware Atomic Register File
>> +^
>> +
>> +Hardware atomics are declared as a 2D array with an optional array id.
>> +
>> +The first member of the dimension is the buffer resource the atomic
>> +is located in.
>> +The second member is a range into the buffer
radeon_emit(cs, PKT3(PKT3_NOP, 0, 0));
>> + radeon_emit(cs, reloc);
>> + }
>> + ++rctx->append_fence_id;
>> + reloc = radeon_add_to_buffer_list(>b, >b.gfx,
>> +
>> r600_resource(rctx->append_fence),
>> +
From: Dave Airlie <airl...@redhat.com>
This should reduce some pointless loops.
v2: fix missing check which causes crashes with compute shaders
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_cmd_buffer.c | 53 +++-
sr
From: Dave Airlie <airl...@redhat.com>
This should reduce some pointless loops.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_cmd_buffer.c | 51 ++--
src/amd/vulkan/radv_pipeline.c | 2 ++
src/amd/vulkan/radv_priva
From: Dave Airlie <airl...@redhat.com>
The next patch will try and avoid calling the indirect function.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_cmd_buffer.c | 40 ++--
src/amd/vulkan/radv_descriptor_set.c | 6 +++
From: Dave Airlie <airl...@redhat.com>
We can avoid adding the buffer in the non-local case, this will
avoid all the overhead of the indirect call.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_radeon_winsys.h | 4
src/amd/vulkan/w
From: Dave Airlie <airl...@redhat.com>
The function that calls us has just added the buffer to the
list already, no need to try and add it again.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_cmd_buffer.c | 2 --
1 file changed, 2 deletions(-)
diff --g
From: Dave Airlie <airl...@redhat.com>
This moves some calculations of register values into the pipeline
construction, it saves looking at outinfo in the cmd buffer emit.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_cmd_buffer.c | 29 --
From: Dave Airlie <airl...@redhat.com>
This register is the same on all gpus so far, so emit it in one
place and also for the pre-gfx9 gpus set the value in the pipeline
creation.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_cmd_buffer.c | 14 +++
From: Dave Airlie <airl...@redhat.com>
If we allocate attachments in the begin command buffer due to the
render pass continue bit, we were leaking them.
Since renderpasses inside a cmd buffer malloc/free these properly,
and set to NULL, we just need to call free at end.
Fixes a memor
From: Dave Airlie <airl...@redhat.com>
This is just a simple refactor.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_cmd_buffer.c | 20
src/amd/vulkan/radv_meta.c | 3 +--
src/amd/vulkan/radv_private.h| 4
3 files
From: Dave Airlie <airl...@redhat.com>
This just removes a hole in the cmd_state and packs some bools
together.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_private.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/amd/vulkan/radv
From: Dave Airlie <airl...@redhat.com>
Instead of storing all the pointers and zeroing them all out,
just store a valid bitmask in the state. This also moves
the CmdBindPipeline path down the cpu usage path for the
multithreading demo as it no longer has to traverse MAX_SETS
to find the
From: Dave Airlie <airl...@redhat.com>
This isn't required to be cleared, since buffers are only linked
by vertex elements, so if elements are clear then no buffers
should be referenced.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_cmd_buffer.c | 6 +++
From: Dave Airlie <airl...@redhat.com>
It appears the latest dota2 vulkan uses this,
and we get a hang in VR mode without it.
v2: remove finishme I left in after finishing.
Cc: "17.2 17.3" <mesa-sta...@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airl...@redhat
On 3 November 2017 at 23:59, Gert Wollny <gw.foss...@gmail.com> wrote:
> Am Freitag, den 03.11.2017, 17:24 +1000 schrieb Dave Airlie:
>>
>> diff --git a/src/gallium/drivers/r600/r600_pipe.c
>> b/src/gallium/drivers/r600/r600_pipe.c
>> index d67a22b..434596b 100644
From: Dave Airlie <airl...@redhat.com>
HW atomics need to use caps to set some limits, and some
other limits may also need limiting.
This fixes things up to work for evergreen hw, it may need
more changes in the future if other hw wants to use this path.
Signed-off-by: Dave Airlie
From: Dave Airlie <airl...@redhat.com>
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
docs/features.txt | 6 +++---
docs/relnotes/17.4.0.html | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/docs/features.txt b/docs/features.txt
index d228a02..1d
From: Dave Airlie <airl...@redhat.com>
This adds a new atom that calls the new driver API to
bind buffers containing hw atomics.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/mesa/state_tracker/st_atom_atomicbuf.c | 37
src/mesa/s
801 - 900 of 3958 matches
Mail list logo