On 6/10/19 10:00 PM, Brian Masney wrote:
On Mon, Jun 10, 2019 at 09:53:25PM -0400, Jonathan Marek wrote:
This error doesn't happen on X11 using the mesa master branch. Instead,
I get the following error on that branch:
../src/gallium/drivers/freedreno/freedreno_batch.c:424:fd_batch_ad
On 6/10/19 9:52 PM, Brian Masney wrote:
Hi Rob,
On Mon, Jun 10, 2019 at 05:10:45PM -0700, Rob Clark wrote:
On Mon, Jun 10, 2019 at 3:54 PM Brian Masney wrote:
On Mon, Jun 10, 2019 at 06:58:30AM -0700, Rob Clark wrote:
On Mon, Jun 10, 2019 at 6:53 AM Rob Clark wrote:
On Sat, Jun 8, 2019 a
On 6/9/19 8:41 AM, Brian Masney wrote:
On Sat, Jun 08, 2019 at 10:58:11PM -0400, Jonathan Marek wrote:
Hi,
It's possible 19.1 has another issue, I only tested the master branch with
my fix. I would suggest trying 19.0 or the master branch.
The mesa master branch and 19.0.6 both giv
Hi,
It's possible 19.1 has another issue, I only tested the master branch
with my fix. I would suggest trying 19.0 or the master branch.
FYI, I haven't pushed it anywhere but I recently rebased my Nexus 5
patches from last year (and been looking at getting call audio working).
Jonathan
On
ve link to the updated series?
Thanks,
-
Lionel
On 07/01/2019 16:54, Jonathan Marek wrote:
Hi,
Did you get a chance try this? If not, I might be able to try it
myself as I have Intel HW.
On 12/19/18 12:34 PM, Lionel Landwerlin wrote:
Hey Jonathan,
I'm kind of curious as to whethe
f the algebraic
lowering/optimizations).
I'll give it a try on Intel HW, see what it does.
-
Lionel
On 19/12/2018 16:39, Jonathan Marek wrote:
When ffma is available, we can use a different arrangement of
constants to
get a better result. On freedreno/ir3, this reduces the YUV->RGB to
On 12/20/2018 01:28 AM, Nils Wallménius wrote:
Den ons 19 dec. 2018 17:44 skrev Jonathan Marek :
When ffma is available, we can use a different arrangement of constants to
get a better result. On freedreno/ir3, this reduces the YUV->RGB to 7
scalar ffma. On freedreno/a2xx, it will allow
I haven't encountered such dereference issues, but lowering integers
later is a good idea (as with bools which are now lowered later).
On 12/19/2018 01:22 PM, Eric Anholt wrote:
Jonathan Marek writes:
Note: the backend must take care that uniform index is now a float
This makes me
it).
Why should we need to check if the shader does discards?
On 12/19/2018 01:05 PM, Eric Anholt wrote:
Jonathan Marek writes:
Enable earlyZ when alpha test is disabled.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_zsa.c | 3 ++-
1 file changed, 2 insert
r wrote:
Am Mi., 19. Dez. 2018 um 17:44 Uhr schrieb Jonathan Marek :
Mainly a copy of nir_lower_bool_to_int32, but with float opcodes.
Hmmm.. are you aware of https://patchwork.freedesktop.org/patch/257867/ and
https://gitlab.freedesktop.org/jekstrand/mesa/commit/cf819c8a3fa99ccedf423ea77cf710dbd
Fixup for the texture update patch.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
index ce275a78a6
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_gmem.c | 62 +++
1 file changed, 62 insertions(+)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
b/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
index d9aad16b4a..77c8d80055 100644
--- a/src
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 32 +++-
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 52 ++
src/gallium/drivers/freedreno/a2xx/fd2_emit.h | 3 +-
src/gallium/drivers/freedreno/a2xx/fd2_gmem.c | 150 ++
.../drivers/freedreno/a2xx/fd2_program.c |
Doesn't change much, but reduces the size of fd2_emit_state
gmem2mem does not need to change the value: no Z clipping on resolve
mem2gmem now needs to restore the common value after rendering
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_emit.c
When ffma is available, we can use a different arrangement of constants to
get a better result. On freedreno/ir3, this reduces the YUV->RGB to 7
scalar ffma. On freedreno/a2xx, it will allow YUV->RGB to be 3 vec4 ffma.
Signed-off-by: Jonathan Marek
---
src/compiler/nir/nir_lower_tex.
ample:
matrix * vec4(coord, 1.0)
is compiled as:
fmul, ffma, ffma, fadd
and with this patch:
ffma, ffma, ffma
Signed-off-by: Jonathan Marek
---
src/compiler/nir/nir_opt_algebraic.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/compiler/nir/nir_opt_algebraic.py
b/src/compile
Some instructions can only be scalar on a2xx, lower these only
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/Makefile.sources| 1 +
src/gallium/drivers/freedreno/a2xx/ir2_nir.c | 3 +
.../freedreno/a2xx/ir2_nir_lower_scalar.c | 174 ++
.../drivers
Two cases:
* replacing srcs which refer to MOV instructions
* replacing MOVs used to write to exports
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/Makefile.sources| 1 +
src/gallium/drivers/freedreno/a2xx/ir2.c | 6 +
src/gallium/drivers/freedreno/a2xx/ir2_cp.c
Fixes cases where previous viewport values might case gmem2mem to fail.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_gmem.c | 8
1 file changed, 8 insertions(+)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
b/src/gallium/drivers/freedreno/a2xx
On a20x, set VGT_VERTEX_REUSE_BLOCK_CNTL to 2 and don't change it. Small
rearrangement on a220 to reduce the size of draw commands.
Only set DEALLOC_CNTL on a20x because the correct a220 value is not known.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c
Note: the backend must take care that uniform index is now a float
Signed-off-by: Jonathan Marek
---
src/compiler/glsl/glsl_to_nir.cpp | 16
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/compiler/glsl/glsl_to_nir.cpp
b/src/compiler/glsl/glsl_to_nir.cpp
Enable earlyZ when alpha test is disabled.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_zsa.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_zsa.c
b/src/gallium/drivers/freedreno/a2xx/fd2_zsa.c
index
We should now lower bool to float later.
Signed-off-by: Jonathan Marek
---
src/compiler/glsl/glsl_to_nir.cpp | 175 --
1 file changed, 71 insertions(+), 104 deletions(-)
diff --git a/src/compiler/glsl/glsl_to_nir.cpp
b/src/compiler/glsl/glsl_to_nir.cpp
index
Mainly a copy of nir_lower_bool_to_int32, but with float opcodes.
Signed-off-by: Jonathan Marek
---
src/compiler/Makefile.sources | 1 +
src/compiler/nir/meson.build | 3 +-
src/compiler/nir/nir.h | 1 +
src/compiler/nir
out_type is always GLSL_TYPE_FLOAT, so we don't get the ftrunc otherwise
Signed-off-by: Jonathan Marek
---
src/compiler/glsl/glsl_to_nir.cpp | 7 +++
1 file changed, 7 insertions(+)
diff --git a/src/compiler/glsl/glsl_to_nir.cpp
b/src/compiler/glsl/glsl_to_nir.cpp
index c8a7f
some instructions can only be scalar on a2xx, lower these only
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/Makefile.sources| 1 +
src/gallium/drivers/freedreno/a2xx/ir2_nir.c | 3 +
.../freedreno/a2xx/ir2_nir_lower_scalar.c | 174 ++
.../drivers
Not in this patch: emitting the hw binning variant and filling the
"draw_patches". That is part of the ir2 patch.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 51 ++--
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 8 +-
src/gallium/drivers
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/drm/freedreno_drmif.h | 1 +
src/gallium/drivers/freedreno/drm/msm_bo.c | 3 +++
src/gallium/drivers/freedreno/freedreno_resource.c | 4 +++-
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/gallium
I don't have push rights, but robclark added this patch to his staging
branch so I imagine he will push it soon.
On 11/19/2018 03:15 PM, Christian Gmeiner wrote:
Am Mo., 12. Nov. 2018 um 19:17 Uhr schrieb Jonathan Marek :
lowers ceil(x) as -floor(-x)
Signed-off-by: Jonathan Marek
D
ample:
matrix * vec4(coord, 1.0)
is compiled as:
fmul, ffma, ffma, fadd
and with this patch:
ffma, ffma, ffma
Signed-off-by: Jonathan Marek
---
src/compiler/nir/nir_opt_algebraic.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/compiler/nir/nir_opt_algebraic.py
b/src/compile
out_type is always GLSL_TYPE_FLOAT, so we don't get the ftrunc otherwise
since there are no other conversions needed, use fmov for the other cases
(there is the f2b case, but the 1-bit bool patches should fix that)
Signed-off-by: Jonathan Marek
---
src/compiler/glsl/glsl_to_nir.cpp
Note: the backend must take care that uniform index is now a float
Signed-off-by: Jonathan Marek
---
src/compiler/glsl/glsl_to_nir.cpp | 16
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/compiler/glsl/glsl_to_nir.cpp
b/src/compiler/glsl/glsl_to_nir.cpp
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
index 20bfd06b13..50e2fe13eb 100644
--- a/src/gallium/drivers
blip_fp uses GENERIC as input, so blit_vp should match for linking
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/freedreno_program.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/freedreno_program.c
b/src/gallium/drivers
Not in this patch: emitting the hw binning variant and filling the
"draw_patches". That is part of the ir2 patch.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 47 +--
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 8 +-
src/gallium/drivers
Adds all missing texture related logic. For everything to work it also
needs changes to ir2/fd2_program, which are part of the ir2 update patch.
Note: it needs rnndb update
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/Makefile.sources| 2 +
src/gallium/drivers/freedreno
As it stands, it overflows to zero.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_rasterizer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_rasterizer.c
b/src/gallium/drivers/freedreno/a2xx
Note: it needs rnndb update
Signed-off-by: Marek Vasut
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_gmem.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
b/src/gallium/drivers/freedreno
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 97 ---
.../drivers/freedreno/freedreno_batch.c | 1 +
.../drivers/freedreno/freedreno_batch.h | 1 +
.../drivers/freedreno/freedreno_draw.c| 2 +
.../drivers/freedreno
200: 256KiB GMEM A200 (imx53)
201: 128KiB GMEM A200 (imx51)
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/freedreno_screen.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c
b/src/gallium/drivers/freedreno
ov 12, 2018 at 12:17 PM Jonathan Marek wrote:
This works by moving the fadd up across the ffma operations, so that it
can eventually can be combined with a fmul. I'm not sure it works in all
cases, but it works in all the common cases.
Example:
matrix * vec4(coord, 1.0)
is compiled as:
to int (ftrunc), and f2b
(which represents the operation that is the opposite of a fnot).
Signed-off-by: Jonathan Marek
---
src/compiler/glsl/glsl_to_nir.cpp | 23 ++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/compiler/glsl/glsl_to_nir.cpp
b/src
patch:
ffma, ffma, ffma
Signed-off-by: Jonathan Marek
---
src/compiler/nir/nir_opt_algebraic.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/compiler/nir/nir_opt_algebraic.py
b/src/compiler/nir/nir_opt_algebraic.py
index 8f4df891b8..82e10731a6 100644
--- a/src/compile
lowers ceil(x) as -floor(-x)
Signed-off-by: Jonathan Marek
---
src/compiler/nir/nir.h| 3 +++
src/compiler/nir/nir_opt_algebraic.py | 1 +
2 files changed, 4 insertions(+)
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
index dc3c729dee..f9b32a5daf 100644
--- a/src
.org/patch/250192/
On Mon, Oct 8, 2018 at 12:07 AM Jonathan Marek wrote:
a20x can only draw 65535 vertices at once. this fix only applies to
triangles.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 30 +--
1 file changed, 28 insertions(+), 2
on a20x the GPU will hang if this register is zero
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 4
1 file changed, 4 insertions(+)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
index
on a220 it makes a difference if the max register # is -1 or 0
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/ir-a2xx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/ir-a2xx.c
b/src/gallium/drivers/freedreno
adds all the required logic for a20x hw binning to work
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 95
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 10 +-
src/gallium/drivers/freedreno/a2xx/fd2_emit.h | 3 +-
src/gallium/drivers
From: Marek Vasut
This fixes "a2xx: Compute depth base in gmem consistently" by using
the already present zsbuf and cbuf bases rather than incorrect hand
crafted calculation.
Without this patch, the following assertion triggers ie. with Qt5
on system with 480x272 display:
appliation:
../../../
this also adds a num_vsc_pipe which represents the number of pipes to use:
this value is useful because more pipes has a higher cost (on a20x)
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/freedreno_gmem.c| 29 ++-
.../drivers/freedreno/freedreno_gmem.h
a20x can only draw 65535 vertices at once. this fix only applies to
triangles.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 30 +--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_draw.c
emulated fragcoord. a2xx has *some* hw support but it is not practical
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/a2xx/fd2_compiler.c| 16
1 file changed, 16 insertions(+)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_compiler.c
b/src/gallium
this is for a2xx specific semantics (vertex id) and a basic SSA form
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/a2xx/fd2_compiler.c | 54 +--
src/gallium/drivers/freedreno/a2xx/ir-a2xx.c | 45 ++--
src/gallium/drivers/freedreno/a2xx/ir-a2xx.h | 9
binning data "pointer" - relative_addr=1 (in ir-a2xx) makes
it not interfere with the other shader constants
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/a2xx/fd2_compiler.c | 72 +--
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 14
.../drivers
the two a20x GPUs tested are a200 in the imx51 and the imx53 (not a205).
the 201 id is used for the imx51 (it only has 128kb gmem as opposed to the
typical 256kb for a200)
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/freedreno_screen.c | 2 ++
1 file changed, 2 insertions
this introduces some tracking of the number of vertices drawn in the
current batch: the draw command needs an offset to the start of the
binning data
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/adreno_pm4.xml.h| 7 +
.../drivers/freedreno/freedreno_batch.c | 1
on a20x the GPU will hang if this register is zero
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 4
1 file changed, 4 insertions(+)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
index
a20x can only draw 65535 vertices at once. this fix only applies to
triangles.
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 30 +--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_draw.c
emulated fragcoord. a2xx has *some* hw support but it is not practical
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/a2xx/fd2_compiler.c| 16
1 file changed, 16 insertions(+)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_compiler.c
b/src/gallium
adds all the required logic for a20x hw binning to work
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 95
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 10 +-
src/gallium/drivers/freedreno/a2xx/fd2_emit.h | 3 +-
src/gallium/drivers
binning data "pointer" - relative_addr=1 (in ir-a2xx) makes
it not interfere with the other shader constants
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/a2xx/fd2_compiler.c | 72 +--
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 14
.../drivers
this is for a2xx specific semantics (vertex id) and a basic SSA form
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/a2xx/fd2_compiler.c | 54 +--
src/gallium/drivers/freedreno/a2xx/ir-a2xx.c | 45 ++--
src/gallium/drivers/freedreno/a2xx/ir-a2xx.h | 9
this also adds a num_vsc_pipe which represents the number of pipes to use:
this value is useful because more pipes has a higher cost (on a20x)
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/freedreno_context.h | 1 +
.../drivers/freedreno/freedreno_gmem.c| 30
this introduces some tracking of the number of vertices drawn in the
current batch: the draw command needs an offset to the start of the
binning data
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/adreno_pm4.xml.h| 7 +
.../drivers/freedreno/freedreno_batch.c | 1
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/freedreno_resource.c| 57 +--
.../drivers/freedreno/freedreno_resource.h| 1 +
.../drivers/freedreno/freedreno_screen.c | 29 +++---
.../drivers/freedreno/freedreno_screen.h | 10 ++--
.../freedreno
the two a20x GPUs tested are a200 in the imx51 and the imx53 (not a205).
the 201 id is used for the imx51 (it only has 128kb gmem as opposed to the
typical 256kb for a200)
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/freedreno_screen.c | 2 ++
1 file changed, 2 insertions
Signed-off-by: Jonathan Marek
---
configure.ac| 4 ++--
src/gallium/targets/dri/target.c| 5 +++-
src/gallium/winsys/imx/drm/Makefile.am | 9 +++
src/gallium/winsys/imx/drm/imx_drm_winsys.c | 26 -
4 files changed, 35
IN/OUT MOV
instructions generated by TGSI and removal of unused instructions when
some exports are disabled
-ir2 now allows full 8-bit index for constants
-ir2_alloc no longer allocates 4 times too many bytes
Signed-off-by: Jonathan Marek
---
.../drivers/freedreno/a2xx/fd2_compiler.c | 210
the format of the CLEAR_COLOR register doesn't depend on the target format
this fixes clear color when rendering to 32-bit RGBA and 16-bit targets
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_program.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_program.c
b/src/gallium/drivers/freedreno/a2xx/fd2_program.c
index 9a77457251..834a7c7fcd 100644
--- a/src/gallium
blend can be NULL, so check for that
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
index
this patch adds support for a20x, which has some differences with a220:
-no VGT_MAX_VTX_INDX register
-no CLEAR_COLOR register
-set RB_BC_CONTROL in restore (hangs without)
-different CP_DRAW_INDX format
tested with kmscube and glmark2 scenes, on par with a220
Signed-off-by: Jonathan Marek
The offset field is 22 bit large.
11 bits are necessary because MaxVertexAttribRelativeOffset = 2047
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/instr-a2xx.h | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/freedreno/a2xx
this patch adds support for a20x, which has some differences with a220:
-no VGT_MAX_VTX_INDX register
-no CLEAR_COLOR register
-set RB_BC_CONTROL in restore (hangs without)
-different CP_DRAW_INDX format
tested with kmscube and glmark2 scenes, on par with a220
Signed-off-by: Jonathan Marek
blend can be NULL, so check for that
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
index
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_program.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_program.c
b/src/gallium/drivers/freedreno/a2xx/fd2_program.c
index 9a77457251..834a7c7fcd 100644
--- a/src/gallium
blend can be NULL, so check for that
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
index
the format of the CLEAR_COLOR register doesn't depend on the target format
this fixes clear color when rendering to 32-bit RGBA and 16-bit targets
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --
the bare minimum to get a20x running with kmscube and some glmark2 scenes:
different CP_DRAW_INDX format and the different clear color register
Signed-off-by: Jonathan Marek
---
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 15 +++--
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 10
79 matches
Mail list logo