[Mesa-dev] Request for "Developer" of mesa project.

2020-02-14 Thread Hyunjun Ko
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

[Mesa-dev] [PATCH] freedreno: implements get_sample_position

2018-11-06 Thread Hyunjun Ko
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

[Mesa-dev] [PATCH 1/3] freedreno: implements get_sample_position

2018-11-06 Thread Hyunjun Ko
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

[Mesa-dev] [PATCH 2/2] freedreno: take reg->num out of union in ir3_register

2018-10-25 Thread Hyunjun Ko
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

Re: [Mesa-dev] [PATCH 2/2] freedreno: ir3: fix wrong return if reg is an array

2018-10-25 Thread Hyunjun Ko
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

[Mesa-dev] [PATCH 1/2] freedreno: use fd_bc_alloc_batch instead of fd_batch_create.

2018-10-23 Thread Hyunjun Ko
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 +-

[Mesa-dev] [PATCH 2/2] freedreno: ir3: fix wrong return if reg is an array

2018-10-23 Thread Hyunjun Ko
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,

[Mesa-dev] [PATCH 2/2] freedreno: allocate batches from the cache in launch_grid

2018-10-17 Thread Hyunjun Ko
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(+),

[Mesa-dev] [PATCH 1/2] freedreno: adds nondraw param to fd_bc_alloc_batch

2018-10-17 Thread Hyunjun Ko
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 +++---

[Mesa-dev] [PATCH] freedreno: allocate batches from the cache in launch_grid

2018-10-17 Thread Hyunjun Ko
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

[Mesa-dev] [PATCH 2/4] freedreno: don't do flush unless needed.

2018-09-19 Thread Hyunjun Ko
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:

[Mesa-dev] [PATCH 2/4] freedreno: don't do flush unless needed.

2018-09-19 Thread Hyunjun Ko
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:

[Mesa-dev] [PATCH 4/4] freedreno: fix a typo in launch_grid

2018-09-19 Thread Hyunjun Ko
--- 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 ---

[Mesa-dev] [PATCH 3/4] freedreno: synchronize when flushing batches in launch_grid

2018-09-19 Thread Hyunjun Ko
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

[Mesa-dev] [PATCH 1/4] freedreno/ir3: fix the param order of cmpxchg

2018-09-19 Thread Hyunjun Ko
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:

[Mesa-dev] [PATCH 2/4] freedreno: don't do flush unless needed.

2018-09-19 Thread Hyunjun Ko
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:

[Mesa-dev] [PATCH 0/4] fix crashes and failures of deqp gles31

2018-09-19 Thread Hyunjun Ko
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

[Mesa-dev] [PATCH 0/2] freedreno: fix crashes of deqp gles31

2018-08-29 Thread Hyunjun Ko
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

[Mesa-dev] [PATCH 1/2] freedreno/ir3: make immediates array dynamic

2018-08-29 Thread Hyunjun Ko
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

[Mesa-dev] [PATCH 2/2] freedreno/ir3: insert mov if same instruction in the outputs.

2018-08-29 Thread Hyunjun Ko
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