Hi,
I'm Hyunjun Ko, working on Mesa actively nowadays.
I've been working for over 1 year since I dived into this attractive
project and mainly focusing on freedreno.
Now I feel it's the right time to request to grant access.
You can see my works in the past:
https://cgit.freedesktop.org/mesa
Since 1285f71d3e landed, it needs to provide apps with proper sample
position for MSAA.
Currently no way to query this to hw, these are taken from blob driver.
Fixes: dEQP-GLES31.functional.texture.multisample.samples_#.sample_position
---
.../drivers/freedreno/freedreno_resource.c| 43
Since 1285f71d3e landed, it needs to provide apps with proper sample
position for MSAA.
Currently no way to query this to hw, these are taken from blob driver.
Fixes: dEQP-GLES31.functional.texture.multisample.samples_#.sample_position
---
.../drivers/freedreno/freedreno_resource.c| 43
To avoid wrong result when identifying the type of register.
Ie. If the reg is an array, it might be identified as address or
predicate register.
---
src/gallium/drivers/freedreno/ir3/ir3.h | 11 ++-
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git
On 10/24/18 11:05 PM, Rob Clark wrote:
On Tue, Oct 23, 2018 at 9:57 PM Hyunjun Ko wrote:
Since ir3_register struct has union, it could return true even
if it's an array register accidentally when checking whether it
is address/predicate register.
Fixes: dEQP-GLES31
Following the commit 2385d7b066 and 8e798e28f7, for resource dependancy
tracking.
Fixes:
dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_depth_fbo
with FD_MESA_DEBUG=inorder
---
src/gallium/drivers/freedreno/a5xx/fd5_blitter.c | 2 +-
Since ir3_register struct has union, it could return true even
if it's an array register accidentally when checking whether it
is address/predicate register.
Fixes: dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays.6
---
src/gallium/drivers/freedreno/ir3/ir3.h | 4 ++--
1 file changed,
Needs to allocate batches from the cache so that it could
get a valid index and make resource dependancy tracking right.
In addition this fixes assertion on debug build since the commit
1a40faa8 landed.
---
src/gallium/drivers/freedreno/freedreno_draw.c | 3 ++-
1 file changed, 2 insertions(+),
Needs to specify nondraw when creating a batch through
fd_bc_alloc_batch since it'd better create a batch through
it rather than fd_batch_create.
---
src/gallium/drivers/freedreno/a6xx/fd6_blitter.c | 2 +-
src/gallium/drivers/freedreno/freedreno_batch_cache.c | 6 +++---
Needs to allocate batches from the cache so that it could
get a valid index and make resource dependancy tracking right.
And it doesn't need to flush the batch in each launch_grid from
this approach. Also it could make it avoid potential memory leak
of the batches.
In addition this fixes
The commit 4b847b38 introduced some crashes of deqp gles31 cts,
since it always tries to flush if the flag flushed is false, which
is the initial state.
This sometimes makes it trying unnecessary drawing when context is
being destroyed for example.
Fixes:
The commit 4b847b38 introduced some crashes of deqp gles31 cts,
since it always tries to flush if the flag flushed is false, which
is the initial state.
This sometimes makes it trying unnecessary drawing when context is
being destroyed for example.
Fixes:
---
src/gallium/drivers/freedreno/freedreno_draw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/freedreno_draw.c
b/src/gallium/drivers/freedreno/freedreno_draw.c
index 0a472c78b1..0b7f9ffe5e 100644
---
Since the commit 4b847b38 landed, there has been a race condition in
launch_grid, which is between fdX_launch_grid and rendering in batch flush.
This leads many cts to unstable results, especially for those using
compute shader.
Fixes: many cts for compute shader including
According to the following definition,
int AtomicCompSwap(inout int mem, uint compare, uint data);
the preceding one in atomic_comp_swap of NIR is compare and data is
followed, while src0 for cmpxchg needs vec2(data, compare)
So for ssbo/image deref comp_swap, that should be reversed.
Fixes:
The commit 4b847b38 introduced some crashes of deqp gles31 cts,
since it always tries to flush if the flag flushed is false, which
is the initial state.
This sometimes makes it trying unnecessary drawing when context is
being destroyed for example.
Fixes:
This series fixes crashes/failures of tests from deqp gles31 on freedreno.
Thanks for review.
Hyunjun Ko (4):
freedreno/ir3: fix the param order of cmpxchg
freedreno: don't do flush unless needed.
freedreno: synchronize when flushing batches in launch_grid
freedreno: fix a typo
This series fixes some crashes of tests from deqp gles31 on freedreno.
Thanks for review.
Hyunjun Ko (2):
freedreno/ir3: make immediates array dynamic
freedreno/ir3: insert mov if same instruction in the outputs.
.../drivers/freedreno/ir3/ir3_compiler_nir.c | 14 ++
src
Since most shaders wouldn't need that large array of immediates, making
the array dynamic could save unnecessary spaces.
In addition, sometimes we can potentially have a much larger array
of immediates to be lowered, which might be more than 64.
---
src/gallium/drivers/freedreno/ir3/ir3_cp.c
For example,
result0 = texture(sampler[indexBase + 5], coords);
result1 = texture(sampler[indexBase + 0], coords);
result2 = texture(sampler[indexBase + 0], coords);
out_result0 = result0;
out_result1 = result1;
out_result2 = result2;
In this kind of case we need to
20 matches
Mail list logo