Hi,
This patch series allows ilo to be selected as the GPU driver on Android-IA.
The second patch fixes a linking error, which should be common to other
Gallium-based drivers.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
It can be selected with
BOARD_GPU_DRIVERS := ilo
Signed-off-by: Chia-I Wu olva...@gmail.com
---
Android.mk|4 +--
src/egl/main/Android.mk |6 +
src/gallium/Android.mk|5
Add libsync not only for MESA_BUILD_CLASSIC, but also for MESA_BUILD_GALLIUM.
Signed-off-by: Chia-I Wu olva...@gmail.com
---
src/egl/main/Android.mk |8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/egl/main/Android.mk b/src/egl/main/Android.mk
index
On Fre, 2013-05-03 at 02:00 +0200, Roland Scheidegger wrote:
Am 03.05.2013 00:29, schrieb Dave Airlie:
On Fri, May 3, 2013 at 6:04 AM, Zack Rusin za...@vmware.com wrote:
Well in contrast to the IF/UIF they'd be really redundant unless I'm
missing something so just for supporting negation
- Original Message -
It should be unsigned, not enum pipe_flush_flags.
Fixed a build error:
src/gallium/state_trackers/egl/android/native_android.cpp:426:29: error:
invalid conversion from 'int' to 'pipe_flush_flags' [-fpermissive]
While I agree that using enum for bitmasks
New disassembler is not completely isolated yet from further processing
in r600g/sb that is not required for printing the dump, so it has higher
probability to fail in case of any unexpected features in the bytecode.
This patch adds sbdisasm flag for R600_DEBUG that allows to use new
disassembler
Am 03.05.2013 10:48, schrieb Lauri Kasanen:
v2: Removed extra libs as requested by Matt Turner.
Signed-off-by: Lauri Kasanen c...@gmx.com
Reviewed-by: Christian König christian.koe...@amd.com
---
src/gallium/state_trackers/xvmc/Makefile.am |2 +-
1 files changed, 1 insertions(+), 1
https://bugs.freedesktop.org/show_bug.cgi?id=59591
Andy Furniss adf.li...@gmail.com changed:
What|Removed |Added
Status|NEW |RESOLVED
One build system for linux/unix only drivers should be enough.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48694
---
scons/gallium.py|1 -
src/gallium/SConscript | 24 ---
src/gallium/drivers/r300/SConscript
One build system for linux/unix only drivers should be enough.
Additionally the nouveau target was disabled anyway.
---
src/gallium/SConscript | 15 ---
src/gallium/drivers/nouveau/SConscript | 10 --
src/gallium/drivers/nv30/SConscript| 11
FWIW, this maps nicely to r600, which also has separate instructions
for the low and high 32 bits. As to what option is better, it really
depends on whether shading languages and OpenCL expose the
instructions directly through functions, or whether they just have
64-bit integers.
Marek
On Fri,
Reviewed-by: Marek Olšák mar...@gmail.com
Marek
On Fri, May 3, 2013 at 10:04 AM, Vadim Girlin vadimgir...@gmail.com wrote:
New disassembler is not completely isolated yet from further processing
in r600g/sb that is not required for printing the dump, so it has higher
probability to fail in
Assigning a struct only copies the members - any padding is left as is.
Thus this code:
struct foo;
foo = bar;
leaves the padding of foo intact, ie uninitialized random garbage.
This patch fixes constant shader recompiles by initializing the struct
to zero.
Signed-off-by: Lauri Kasanen
On Fri, 03 May 2013 01:27:27 +0400
Vadim Girlin vadimgir...@gmail.com wrote:
I'm almost sure that the same issue that you have with glxgears affects
your app too, so you might want to wait until we resolve the problem
with gears, possibly this will solve other rendering issues as well.
...
On 05/03/2013 03:10 PM, Lauri Kasanen wrote:
Assigning a struct only copies the members - any padding is left as is.
Thus this code:
struct foo;
foo = bar;
leaves the padding of foo intact, ie uninitialized random garbage.
This patch fixes constant shader recompiles by initializing the
On Thu, May 2, 2013 at 11:40 PM, Zack Rusin za...@vmware.com wrote:
gallium lies. buffer_size is not actually buffer_size but available
size, which is 'buffer_size - buffer_offset' so by adding buffer
offset we'd incorrectly compute overflow.
Maybe add a comment to that effect in the code?
Not sure if this helps much, but...
With gentype being one of:
char, uchar, short, ushort, int, uint, long, ulong, and the widths
being scalar, 2, 3, 4, 8, or 16 components wide.
From the OpenCL 1.1 spec:
gentype mad_hi(gentype a, gentype b):
Computes x * y and returns the high half of the
- Original Message -
In ureg src registers could have an indirect register that was
either a temp or an addr register, while dst registers allowed
only addr. That made moving between them a little difficult so
make them behave the same way and allow temp's and addr registers
as
- Original Message -
From: Roland Scheidegger srol...@vmware.com
A lot of them were missing. Others were moved from the Compute ISA
to a new Integer ISA section as that seemed more appropriate.
---
src/gallium/docs/source/tgsi.rst | 362
++
This patch results in lockups with Heaven on juniper for me.
Vadim
On 04/26/2013 09:21 PM, Tom Stellard wrote:
From: Tom Stellard thomas.stell...@amd.com
We are already emitting a EVENT_TYPE_CACHE_FLUSH_AND_INV_EVENT packet
when this flush flag is set, so flushing the dest caches with a
On Fri, May 3, 2013 at 9:30 AM, Vadim Girlin vadimgir...@gmail.com wrote:
This patch results in lockups with Heaven on juniper for me.
Does dropping the surface_sync packet completely help? We shouldn't
need a surface_sync packet after a CACHE_FLUSH_AND_INV_EVENT packet
and prior to
Am 03.05.2013 06:58, schrieb Jose Fonseca:
- Original Message -
Currently, there's no way to get the high bits of a 32x32
signed/unsigned integer multiplication with tgsi. However, all of
d3d10, OpenGL, and OpenCL support that, so we need it as well.
There's essentially two ways
On 05/03/2013 05:36 PM, Alex Deucher wrote:
On Fri, May 3, 2013 at 9:30 AM, Vadim Girlin vadimgir...@gmail.com wrote:
This patch results in lockups with Heaven on juniper for me.
Does dropping the surface_sync packet completely help? We shouldn't
need a surface_sync packet after a
- Original Message -
Sorry to hear the hw doesn't support it, but this is supported by d3d10
so it's quite likely some hw indeed supports it. There's always some
things some hw can't do natively.
Well I was hoping before adding new things for sw driver to gallium we
should
Yes, that's why I said it looks like separate low and high bits in
opencl. So in opencl you will get the low and high parts separately anyway.
If we have only one instruction, we also probably really wanted to be
able to say that we may only need one or the other destination to avoid
extra work,
- Original Message -
On Thu, May 2, 2013 at 11:40 PM, Zack Rusin za...@vmware.com wrote:
gallium lies. buffer_size is not actually buffer_size but available
size, which is 'buffer_size - buffer_offset' so by adding buffer
offset we'd incorrectly compute overflow.
Maybe add a
Assigning a struct only copies the members - any padding is left as is.
Thus this code:
struct foo_t foo;
foo = bar;
leaves the padding of foo intact, ie uninitialized random garbage.
This patch fixes constant shader recompiles by initializing the struct
to zero. For completeness, memcpy is
From: Alex Deucher alexander.deuc...@amd.com
It shouldn't be needed since the FLUSH_AND_INV_EVENT has already
made sure the destination caches are flushed. Additionally,
we didn't previously emit the surface_sync until this commit:
On Fri, May 03, 2013 at 10:01:00AM -0400, alexdeuc...@gmail.com wrote:
From: Alex Deucher alexander.deuc...@amd.com
Reviewed-by: Tom Stellard thomas.stell...@amd.com
It shouldn't be needed since the FLUSH_AND_INV_EVENT has already
made sure the destination caches are flushed. Additionally,
Fine by me.
Jose
- Original Message -
One build system for linux/unix only drivers should be enough.
Additionally the nouveau target was disabled anyway.
---
src/gallium/SConscript | 15 ---
src/gallium/drivers/nouveau/SConscript | 10 --
Looks ok by me.
- Original Message -
From: Tom Stellard thomas.stell...@amd.com
This does not solve all of the problems with using LLVM in a
multithreaded enivronment, but it should help in some cases.
---
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 15 +++
- Original Message -
Am 03.05.2013 06:58, schrieb Jose Fonseca:
- Original Message -
Currently, there's no way to get the high bits of a 32x32
signed/unsigned integer multiplication with tgsi. However, all of
d3d10, OpenGL, and OpenCL support that, so we need it as
On 03.05.2013 16:32, Jose Fonseca wrote:
- Original Message -
Am 03.05.2013 06:58, schrieb Jose Fonseca:
- Original Message -
Currently, there's no way to get the high bits of a 32x32
signed/unsigned integer multiplication with tgsi. However, all of
d3d10, OpenGL, and
Reviewed-by: Marek Olšák mar...@gmail.com
Marek
On Fri, May 3, 2013 at 3:55 PM, Lauri Kasanen c...@gmx.com wrote:
Assigning a struct only copies the members - any padding is left as is.
Thus this code:
struct foo_t foo;
foo = bar;
leaves the padding of foo intact, ie uninitialized random
On Fri, May 3, 2013 at 9:55 AM, Lauri Kasanen c...@gmx.com wrote:
Assigning a struct only copies the members - any padding is left as is.
Thus this code:
struct foo_t foo;
foo = bar;
leaves the padding of foo intact, ie uninitialized random garbage.
This patch fixes constant shader
It should be unsigned, not enum pipe_flush_flags.
Fixed a build error:
src/gallium/state_trackers/egl/android/native_android.cpp:426:29: error:
invalid conversion from 'int' to 'pipe_flush_flags' [-fpermissive]
v2: replace all occurrences of enum pipe_flush_flags by unsigned
Signed-off-by:
Am 03.05.2013 16:32, schrieb Jose Fonseca:
- Original Message -
Am 03.05.2013 06:58, schrieb Jose Fonseca:
- Original Message -
Currently, there's no way to get the high bits of a 32x32
signed/unsigned integer multiplication with tgsi. However, all of
d3d10, OpenGL, and
On Fri, May 3, 2013 at 4:00 PM, Jose Fonseca jfons...@vmware.com wrote:
- Original Message -
It should be unsigned, not enum pipe_flush_flags.
Fixed a build error:
src/gallium/state_trackers/egl/android/native_android.cpp:426:29: error:
invalid conversion from 'int' to
Am 03.05.2013 16:45, schrieb Christoph Bumiller:
On 03.05.2013 16:32, Jose Fonseca wrote:
- Original Message -
Am 03.05.2013 06:58, schrieb Jose Fonseca:
- Original Message -
Currently, there's no way to get the high bits of a 32x32
signed/unsigned integer multiplication
Reviewed-by: Marek Olšák mar...@gmail.com
Marek
On Fri, May 3, 2013 at 5:19 PM, Chia-I Wu olva...@gmail.com wrote:
It should be unsigned, not enum pipe_flush_flags.
Fixed a build error:
src/gallium/state_trackers/egl/android/native_android.cpp:426:29: error:
invalid conversion from
Hi, Brian. Did you have thoughts one these?
Would it make sense, if we can't update Mesa right now, to just put the
register_with_display() call into Fake_glXChooseFBConfig(), as it is for
Fake_glxChooseVisual()? It allows the visual to be cleaned up when the Display
is closed. Unless it
As long as the commit message contains a note matching this regular
expression '^[[:space:]]*NOTE: .*[Cc]andidate', it won't be missed.
Usually the release manager takes care of cherry-picking if there are
no conflicts.
Marek
On Fri, May 3, 2013 at 5:39 PM, Lauri Kasanen c...@gmx.com wrote:
On
On Fri, May 3, 2013 at 1:48 AM, Lauri Kasanen c...@gmx.com wrote:
v2: Removed extra libs as requested by Matt Turner.
Signed-off-by: Lauri Kasanen c...@gmx.com
---
src/gallium/state_trackers/xvmc/Makefile.am |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git
On 05/03/2013 09:42 AM, Andy Skinner wrote:
Hi, Brian. Did you have thoughts one these?
Would it make sense, if we can't update Mesa right now, to just put the
register_with_display() call into Fake_glXChooseFBConfig(), as it is for
Fake_glxChooseVisual()? It allows the visual to be cleaned
Pushed as
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e495d88453076a4fe552502d66d6a3869ab70e4a
2013/5/3 Marek Olšák mar...@gmail.com
As long as the commit message contains a note matching this regular
expression '^[[:space:]]*NOTE: .*[Cc]andidate', it won't be missed.
Usually the
Pushed as
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ff81cfd8640d02dc78d736cad5020d54ef7a0dc
2013/5/3 Matt Turner matts...@gmail.com
On Fri, May 3, 2013 at 1:48 AM, Lauri Kasanen c...@gmx.com wrote:
v2: Removed extra libs as requested by Matt Turner.
Signed-off-by: Lauri Kasanen
Please find an implementation of the ARB_separate_shader_objects extensions. I
concentrate
mostly on the state part of the extensions aka the pipeline object. I think GLSL
already compiled program separately anyway.
I test my implementation on the test that I send on piglit mailing list. All
V1:
* Extend gl_shader_state as pipeline object state
* Add a new container gl_pipeline_shader_state that contains
binding point of the previous object
* Update mesa init/free shader state due to the extension of
the attibute
* Add an init/free pipeline function for the context
* Implement
V1:
CreateShaderProgramv is similar as CreateShaderProgramEXT. The 2 differences are
1/ it an array of strings
2/ it support the GL_PROGRAM_SEPARABLE (aka SeparateShader) flag
V2: Formatting improvement
---
src/mesa/main/mtypes.h|5 +++
src/mesa/main/shaderapi.c | 94
V2:
* Rename object
* Formatting improvement
---
src/mesa/main/pipelineobj.c | 77 +++
1 file changed, 77 insertions(+)
diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c
index d81bd0e..ffbeeae 100644
--- a/src/mesa/main/pipelineobj.c
Implement _mesa_UseProgramStages =
arb_separate_shader_object-GetProgramPipelineiv is now pass :)
Extend use_shader_program to support a different target. Allow to reuse the
function to update
the pipeline state. Note I bypass the flush when target isn't current. Maybe it
would be better to
Test become green in piglit:
The updated ext_transform_feedback-api-errors:useprogstage_noactive
useprogstage_active bind_pipeline
arb_separate_shader_object-GetProgramPipelineiv
arb_separate_shader_object-IsProgramPipeline
For the moment I reuse Driver.UseProgram but I guess it will be better
---
src/mesa/main/get.c |9 +
src/mesa/main/get_hash_params.py |3 +++
2 files changed, 12 insertions(+)
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 54159c0..6cbb7db 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -369,6 +369,7 @@
Implementation note:
I don't use context for ralloc (don't know how).
The check on PROGRAM_SEPARABLE flags is also done when the pipeline isn't bound.
It doesn't make any sense in a DSA style API.
Maybe we could replace _mesa_validate_program_pipeline by
_mesa_validate_program_pipeline.
For
Note: it probably work on others drivers.
---
src/mesa/state_tracker/st_extensions.c |1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/state_tracker/st_extensions.c
b/src/mesa/state_tracker/st_extensions.c
index f986480..4ce74f2 100644
--- a/src/mesa/state_tracker/st_extensions.c
Series looks alright AFAICT.
Jose
- Original Message -
A surprising number of apps and benchmarks have poor code like this:
glBegin(GL_LINE_STRIP);
glVertex(v1);
glVertex(v2);
glEnd();
// Possibly some no-op state changes here
glBegin(GL_LINE_STRIP);
glVertex(v3);
glVertex(v4);
On Fri, May 3, 2013 at 10:44 AM, Gregory Hainaut
gregory.hain...@gmail.com wrote:
---
src/mesa/main/get.c |9 +
src/mesa/main/get_hash_params.py |3 +++
2 files changed, 12 insertions(+)
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index
On 05/02/2013 04:58 PM, Kenneth Graunke wrote:
On 05/02/2013 01:58 PM, Eric Anholt wrote:
Improves glb2.7 performance at a misaligned size by 2.3% +/- 0.7% (n=11).
The workaround was to avoid bad primitive/surface sizes, but that's worked
around as of a14dc4f92cdad6177d83f051a088a66e31a973bc.
https://bugs.freedesktop.org/show_bug.cgi?id=39527
David okias Heidelberger david.heidelber...@ixit.cz changed:
What|Removed |Added
Status|NEW
From: Roland Scheidegger srol...@vmware.com
Adds the remaining integer opcodes, and some opcodes are moved to more
appropriate places, along with getting rid of the (already nearly empty)
ps_2_x section. Though the CAP bits for some of these are still a bit in
the air so the documentation isn't
Brian Paul bri...@vmware.com writes:
diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c
index b8dd90c..9ce3c6e 100644
--- a/src/mesa/vbo/vbo_save_api.c
+++ b/src/mesa/vbo/vbo_save_api.c
@@ -305,9 +305,9 @@ _save_reset_counters(struct gl_context *ctx)
* previous prim.
This cleans up some funny-looking code in some unigine shaders I was
looking at. Also slightly helps on planeshift and a few shaders in an
upcoming Valve release.
total instructions in shared programs: 1653715 - 1653587 (-0.01%)
instructions in affected programs: 16550 - 16422 (-0.77%)
---
Hi,
The attached patches modify the CodeEmitter to emit true ISA.
Previously, we were prefixing all instructions with an instruction type
byte.
Vincent did most of the work to convert the CodeEmitter to true ISA,
these patches are just the last few cleanups that are needed to finish
the project.
From: Tom Stellard thomas.stell...@amd.com
The LLVM backend takes care of this now.
---
src/gallium/drivers/r600/r600_shader.c | 16 +---
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_shader.c
b/src/gallium/drivers/r600/r600_shader.c
From: Tom Stellard thomas.stell...@amd.com
The LLVM backend emits raw ISA now, so we can just its output
unmodified.
---
src/gallium/drivers/r600/r600_llvm.c | 11 +-
src/gallium/drivers/r600/r600_llvm.h | 2 -
src/gallium/drivers/r600/r600_shader.c | 401 ++---
From: Tom Stellard thomas.stell...@amd.com
Rather than relying on a predetermined order for the config values.
---
src/gallium/drivers/r600/r600_llvm.c | 33 ++---
1 file changed, 30 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
On 05/03/2013 03:52 PM, Eric Anholt wrote:
Brian Paulbri...@vmware.com writes:
diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c
index b8dd90c..9ce3c6e 100644
--- a/src/mesa/vbo/vbo_save_api.c
+++ b/src/mesa/vbo/vbo_save_api.c
@@ -305,9 +305,9 @@
I know it's been pushed already, but this also fixes some lockups that
I was seeing on Barts (HD6850) when running piglit's OpenCL tests.
Thanks for fixing this.
--Aaron
On Fri, May 3, 2013 at 9:47 AM, Marek Olšák mar...@gmail.com wrote:
Reviewed-by: Marek Olšák mar...@gmail.com
Marek
On
From: Ian Romanick ian.d.roman...@intel.com
The new opcode is used to get a single field from a vector. The field
index may not be constant. This will eventually replace
ir_dereference_array of vectors. This is similar to the extractelement
instruction in LLVM IR.
From: Ian Romanick ian.d.roman...@intel.com
The new opcode is used to generate a new vector with a single field from
the source vector replaced. This will eventually replace
ir_dereference_array of vectors in the LHS of assignments.
v2: Convert tabs to spaces. Suggested by Eric.
v3: Add
From: Ian Romanick ian.d.roman...@intel.com
Use a first function that extract the vector being indexed and the index
from the deref. Call the second function that does the real work.
Coming patches will add a new ir_expression for variable indexing into a
vector. Having the lowering pass split
From: Ian Romanick ian.d.roman...@intel.com
Lower ir_binop_vector_extract with a constant index to a swizzle. This
is exactly like ir_dereference_array of a vector with a constant index.
v2: Convert tabs to spaces. Suggested by Eric.
v3: Correctly call convert_vector_extract_to_swizzle in
From: Ian Romanick ian.d.roman...@intel.com
Lower ir_binop_vector_extract with a non-constant index to a series of
conditional moves. This is exactly like ir_dereference_array of a
vector with a non-constant index.
v2: Convert tabs to spaces. Suggested by Eric.
Signed-off-by: Ian Romanick
From: Ian Romanick ian.d.roman...@intel.com
This will eventually replace do_vec_index_to_cond_assign. This lowering
pass is called in all the places where do_vec_index_to_cond_assign or
do_vec_index_to_swizzle is called.
v2: Use WRITEMASK_* instead of integer literals. Use a more concise
From: Ian Romanick ian.d.roman...@intel.com
The ast_array_index code can't know whether to generate an
ir_binop_vector_extract or an ir_triop_vector_insert. Instead it will
always generate ir_binop_vector_extract, and the LHS and RHS have to be
re-written.
v2: Convert tabs to spaces. Suggested
On 05/03/2013 03:05 PM, Eric Anholt wrote:
This cleans up some funny-looking code in some unigine shaders I was
looking at. Also slightly helps on planeshift and a few shaders in an
upcoming Valve release.
total instructions in shared programs: 1653715 - 1653587 (-0.01%)
instructions in
From: Ian Romanick ian.d.roman...@intel.com
Variable indexing into vectors using ir_dereference_array is being
removed, so this lowering pass has to generate something different.
v2: Convert tabs to spaces. Suggested by Eric.
Signed-off-by: Ian Romanick ian.d.roman...@intel.com
Cc: Paul Berry
From: Ian Romanick ian.d.roman...@intel.com
Like with type conversions on out parameters, some extra copies need to
occur to handle these cases. The fundamental problem is that
ir_binop_vector_extract is not an lvalue, but out and inout parameters
must be lvalues. A previous patch delt with a
From: Ian Romanick ian.d.roman...@intel.com
Now that all the places that used to generate array derefeneces of
vectors have been changed to generate either ir_binop_vector_extract or
ir_triop_vector_insert (or both), remove all support for dealing with
this deprecated construct.
As an added
Matt Turner matts...@gmail.com writes:
The Haswell Bspec says A SIMD16 instruction is not allowed. (but
16-wide BFI1 works for me so far). Since GLSL's bitfieldInsert()
function takes int parameters BFI1 produces the same results in all
channels, so there's never any reason to emit a 16-wide
Kenneth Graunke kenn...@whitecape.org writes:
On 05/02/2013 01:58 PM, Eric Anholt wrote:
Improves glb2.7 performance at a misaligned size by 2.3% +/- 0.7% (n=11).
The workaround was to avoid bad primitive/surface sizes, but that's worked
around as of a14dc4f92cdad6177d83f051a088a66e31a973bc.
81 matches
Mail list logo