URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3fd308a357b9057447d21c67718d13524dbbb40d
Merge: 5464f0c 7d021cb
Author: Jordan Justen <[email protected]>
Date: Thu Mar 17 01:38:05 2016 -0700
Merge remote-tracking branch 'origin/master' into vulkan
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d021cb15e6d67ecef8b020fd36c4a680bcc9c39
Author: Jordan Justen <[email protected]>
Date: Mon Jan 18 09:45:46 2016 -0800
i965/nir: Lower nir compute shader shared variables
Signed-off-by: Jordan Justen <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1e7cdfdcf744e083bca5afdc7537e1c4a4042af
Author: Jordan Justen <[email protected]>
Date: Mon Jan 18 09:59:19 2016 -0800
nir: Lower shared var atomics during nir_lower_io
Signed-off-by: Jordan Justen <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3cbb9d37ce4e3efafce834deef3ce814c3777ce
Author: Jordan Justen <[email protected]>
Date: Mon Jan 18 09:44:31 2016 -0800
nir: Add support for lowering load/stores of shared variables
Signed-off-by: Jordan Justen <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=683c359c543f4152150fcc52c7a75b9f6a71d1e4
Author: Jordan Justen <[email protected]>
Date: Mon Jan 18 09:53:44 2016 -0800
nir: Add atomic operations on variables
This allows us to first generate atomic operations for shared
variables using these opcodes, and then later we can lower those to
the shared atomics intrinsics with nir_lower_io.
Signed-off-by: Jordan Justen <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c807607df4ab457037f2daa5ea9e5ce18392b7b
Author: Jordan Justen <[email protected]>
Date: Fri Jan 8 17:16:29 2016 -0800
nir: Add compute shader shared variable storage class
Previously we were receiving shared variable accesses via a lowered
intrinsic function from glsl. This change allows us to send in
variables instead. For example, when converting from SPIR-V.
Signed-off-by: Jordan Justen <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=26f8262698d9f48ab5dbb85ef14cb7d5cefd9d53
Author: Jordan Justen <[email protected]>
Date: Sat Jan 16 23:11:16 2016 -0800
nir/print: Add space after shader_storage var mode
Signed-off-by: Jordan Justen <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5be11d22368c4fd520983ab78a9ac8fc10d79929
Author: Iago Toral Quiroga <[email protected]>
Date: Thu Dec 3 09:50:49 2015 +0100
i965: Skip execution size adjustment for instructions of width 4
This code in brw_set_dest adjusts the execution size of any instruction
with a dst.width < 8. However, we don't want to do this with instructions
operating on doubles, since these will have a width of 4, but still
need an execution size of 8 (for SIMD8). Unfortunately, we can't just check
the size of the operands involved to detect if we are doing an operation on
doubles, because we can have instructions that do operations on double
operands interpreted as UD, operating on any of its 2 32-bit components.
Previous commits have made it so we never emit instructions with a
horizontal
width of 4 that don't have the correct execution size set for gen6+, so
we can skip it in this case, avoiding the conflicts with fp64 requirements.
Expanding the same fix to other hardware generations requires many more
changes but since we are not targetting fp64 support on them
wer don't really care for now.
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=22a10dd0308c4993350e3e0609588a6f4e1cd402
Author: Samuel Iglesias Gonsalvez <[email protected]>
Date: Tue Dec 15 09:34:38 2015 +0100
i965/vec4/gen6: fix exec_size for MOV with a width of 4 in
generate_gs_ff_sync()
Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b91b9e4b005858bad07eec1f92438a22468ac1ae
Author: Samuel Iglesias Gonsalvez <[email protected]>
Date: Fri Dec 4 10:23:15 2015 +0100
i965/vec4/gen6: fix exec_size for instructions with destination width of 4
Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=30fc3fa24d90c1ceda33ba95832e17c67584e2bc
Author: Samuel Iglesias Gonsalvez <[email protected]>
Date: Thu Dec 3 18:27:39 2015 +0100
i965/vec4/gen6: fix exec_size for instructions with width of 4 in
generate_gs_svb_write()
Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2fafc6b98ccc5b0aecc54eadceef8760bbff4233
Author: Samuel Iglesias Gonsalvez <[email protected]>
Date: Thu Dec 3 18:05:39 2015 +0100
i965/gs/gen6: fix execsize for instructions with width of 4 in
gen6_sol_program()
v2:
- Add assert (Topi).
Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6342b56456582340f622ec6e23627ee07ba711d
Author: Iago Toral Quiroga <[email protected]>
Date: Thu Dec 3 11:11:14 2015 +0100
i965: set correct execsize for MOVS with a width of 4 in
brw_find_live_channel
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=31a86042522f4f836b503679be8a120e302fb68a
Author: Iago Toral Quiroga <[email protected]>
Date: Thu Dec 3 11:10:12 2015 +0100
i965/eu: set execution size for SEND message in brw_send_indirect_message
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d6af62a0f51f9b8dd8f142debe1c5a8e2a007ef
Author: Iago Toral Quiroga <[email protected]>
Date: Thu Dec 3 10:59:23 2015 +0100
i965/fs: Set exec size for gen7 pull const loads
v2 (Topi):
- No need to set the execsize for the indirect send message,
the next patch will handle that.
- Set the execution size explicitly instead of taking it from
the width of the dst that we set before.
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea45b6e96d16b04b6a6cbebb5a8f77ba6a46bcf9
Author: Iago Toral Quiroga <[email protected]>
Date: Thu Dec 3 08:49:13 2015 +0100
i965/eu: set correct execution size in brw_NOP
v2: NOP should have an execsize of 1 (Matt)
Reviewed-by: Matt Turner <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c1e01c4a883ac4a738f6f8c17c0236621101e28
Author: Kenneth Graunke <[email protected]>
Date: Tue Mar 15 10:51:55 2016 -0700
meta: Don't use integer handles for shaders or programs.
Previously, we gave our internal clear/blit shaders actual GL handles
and stored them in the shader/program hash table. We used ordinary
GL API entrypoints to work with them.
We thought this shouldn't be a problem because GL doesn't allow
applications to invent their own names for shaders or programs.
GL allocates all names via glCreateShader and glCreateProgram.
However, having them in the hash table is a bit risky: if a broken
application guesses the name of our shaders or programs, it could
alter them, potentially screwing up future meta operations.
Also, test cases can observe the programs in the hash table. Running
a single dEQP process that executes the following test list:
dEQP-GLES3.functional.negative_api.buffer.clear
dEQP-GLES3.functional.negative_api.shader.compile_shader
dEQP-GLES3.functional.negative_api.shader.delete_shader
would result in the last two tests breaking. The compile_shader test
calls glCompileShader(9) straight away, and since it hasn't even created
any shaders or programs, it expects to get a GL_INVALID_VALUE error
because there's no such name. However, because the clear test ran
first, it created Meta programs, so an object named "9" did exist.
This patch reworks Meta to work with gl_shader and gl_shader_program
pointers directly. These internal programs have bogus names, and are
never stored in the hash tables, so they're invisible to applications.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94485
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0fe254168be26e71777dc2648e86976bdcd2e707
Author: Kenneth Graunke <[email protected]>
Date: Tue Mar 15 10:51:33 2016 -0700
mesa: Expose compile_shader() and link_program() beyond the file.
This will allow me to use them directly from Meta, bypassing the
versions that work with GL integer handles.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7753657cf2cf3c1090186f9e33335a0417ce35fe
Author: Kenneth Graunke <[email protected]>
Date: Tue Mar 15 17:08:17 2016 -0700
mesa: Make link_program() take a gl_shader_program, not a GLuint.
In half the callers, we already have a pointer, and don't need
to look it up again. This will also help with upcoming meta work.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a461e0003fdca564fa1ec7528c2463c50a797e85
Author: Kenneth Graunke <[email protected]>
Date: Tue Mar 15 10:24:09 2016 -0700
mesa: Make compile_shader() take a gl_shader, not a GLuint.
In half the callers, we already have a pointer, and don't need
to look it up again. This will also help with upcoming meta work.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a7e9b31d5bf98bdaabbb8b5c2459eb2c3a0af579
Author: Kenneth Graunke <[email protected]>
Date: Tue Mar 15 16:21:36 2016 -0700
meta: Use the _mesa_meta_compile_and_link_program helper more places.
Less boilerplate.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b9f0dffe00bdc556436da02c099b8a50ecc4f49
Author: Eric Anholt <[email protected]>
Date: Tue Mar 15 18:00:22 2016 -0700
vc4: Move discard handling to the condition flag.
Now that the field exists in the instruction, we can make discards less
special. As a bonus, that means that we should be able to merge some more
.sf instructions together when we get around to that.
This causes some scheduling changes, as it allows tlb_color_reads to be
delayed past the discard condition setup. Since the tlb_color_read ends
up later, this may mean performance improvements, but I haven't tested.
total instructions in shared programs: 78114 -> 78035 (-0.10%)
instructions in affected programs: 1922 -> 1843 (-4.11%)
total estimated cycles in shared programs: 234318 -> 234329 (0.00%)
estimated cycles in affected programs: 8200 -> 8211 (0.13%)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c9fc439150188612c7fe595cbe0180fcea3e705
Author: Eric Anholt <[email protected]>
Date: Tue Mar 15 18:58:43 2016 -0700
vc4: Don't make a temporary for setting flags.
The register allocator doesn't really do anything about the temp, so it
doesn't seem like it should matter. However, the scheduler would think
that a new def is being created.
This doesn't change anything yet, but it avoids a bunch of regressions in
the next commit.
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b4f45f319cc5cb833b4581447c45656cdeed025a
Author: Eric Anholt <[email protected]>
Date: Tue Mar 15 18:57:20 2016 -0700
vc4: Add a safety check for setting flags.
If a pack was on the src reg, should it be a float, int, or mul unpack?
Just complain, instead.
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a298fb15afa91d866c78f80fbd71bafeb9f36fda
Author: Eric Anholt <[email protected]>
Date: Tue Mar 15 18:50:32 2016 -0700
vc4: Reuse list_for_each_entry_safe_rev().
This didn't exist when I wrote the code.
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b566317e7e6eb78a22cac759a4af2e9d78f74a32
Author: Kenneth Graunke <[email protected]>
Date: Tue Mar 15 11:13:25 2016 -0700
meta: Use ARB_explicit_attrib_location in the rest of the meta shaders.
This is cleaner than using glBindAttribLocation().
Not all drivers support the extension, but I don't think those drivers
use GLSL in the first place. Apparently some Meta shaders already use
GL_ARB_explicit_attrib_location, so I think it should be okay.
Honestly, I'm not sure how the old code worked anyway - we bound the
attribute location for "texcoords", while all the shaders capitalized
or spelled it differently.
v2: Convert another instance in brw_meta_fast_clear.c.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d9965c06f18f7d609933e511b98514570e85909
Author: Plamena Manolova <[email protected]>
Date: Tue Mar 15 20:39:49 2016 +0200
mesa: Ignore glPointSize when GL_POINT_SIZE_ARRAY_OES is enabled
When a user defines a point size array and enables it, the point
size value set via glPointSize should be ignored. To achieve this,
we can simply toggle ctx->VertexProgram.PointSizeEnabled.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42187
Signed-off-by: Plamena Manolova <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit