Jason Ekstrand
5acd472271
nir/spirv: Add support for deref chains
2015-05-16 11:16:33 -07:00
Jason Ekstrand
7182597e50
nir/types: Add a scalar type constructor
2015-05-16 11:16:32 -07:00
Jason Ekstrand
eccd798cc2
nir/spirv: Add support for OpLabel
2015-05-16 11:16:32 -07:00
Jason Ekstrand
a6cb9d9222
nir/spirv: Add support for declaring functions
2015-05-16 11:16:32 -07:00
Jason Ekstrand
8ee23dab04
nir/types: Add accessors for function parameter/return types
2015-05-16 11:16:32 -07:00
Jason Ekstrand
707b706d18
nir/spirv: Add support for declaring variables
...
Deref chains and variable load/store operations are still missing.
2015-05-16 11:16:32 -07:00
Jason Ekstrand
b2db85d8e4
nir/spirv: Add support for constants
2015-05-16 11:16:32 -07:00
Jason Ekstrand
3f83579664
nir/spirv: Add basic support for types
2015-05-16 11:16:32 -07:00
Jason Ekstrand
e9d3b1e694
nir/types: Add more helpers for creating types
2015-05-16 11:16:32 -07:00
Jason Ekstrand
fe550f0738
glsl/types: Expose the function_param and struct_field structs to C
...
Previously, they were hidden behind a #ifdef __cplusplus so C wouldn't find
them. This commit simpliy moves the ifdef.
2015-05-16 11:16:32 -07:00
Jason Ekstrand
053778c493
glsl/types: Add support for function types
2015-05-16 11:16:32 -07:00
Jason Ekstrand
7b63b3de93
glsl: Add GLSL_TYPE_FUNCTION to the base types enums
2015-05-16 11:16:32 -07:00
Jason Ekstrand
2b570a49a9
nir/spirv: Rework the way values are added
...
Instead of having functions to add values and set various things, we just
have a function that does a few asserts and then returns the value. The
caller is then responsible for setting the various fields.
2015-05-16 11:16:32 -07:00
Jason Ekstrand
f9a31ba044
nir/spirv: Add stub support for extension instructions
2015-05-16 11:16:32 -07:00
Jason Ekstrand
4763a13b07
REVERT: Add a simple helper program for testing SPIR-V -> NIR translation
2015-05-16 11:16:32 -07:00
Jason Ekstrand
cae8db6b7e
glsl/compiler: Move the error_no_memory stub to standalone_scaffolding.cpp
2015-05-16 11:16:32 -07:00
Jason Ekstrand
98452cd8ae
nir: Add the start of a SPIR-V to NIR translator
...
At the moment, it can handle the very basics of strings and can ignore
debug instructions. It also has basic support for decorations.
2015-05-16 11:16:32 -07:00
Jason Ekstrand
573ca4a4a7
nir: Import the revision 30 SPIR-V header from Khronos
2015-05-16 11:16:31 -07:00
Fredrik Höglund
5a55f681f6
mesa: Check the lookup_framebuffer return value in NamedFramebufferRenderbuffer
...
Found by Coverity.
Reported-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
2015-05-16 19:55:00 +02:00
Jason Ekstrand
057bef8a84
vk/device: Use bias rather than layers for computing binding table size
...
Because we statically use the first 8 binding table entries for render
targets, we need to create a table of size 8 + surfaces.
2015-05-16 10:42:53 -07:00
Jason Ekstrand
22e61c9da4
vk/meta: Make clear a no-op if no layers need clearing
...
Among other things, this prevents recursive meta.
2015-05-16 10:30:05 -07:00
Jason Ekstrand
120394ac92
vk/meta: Save and restore the old bindings pointer
...
If we don't do this then recursive meta is completely broken. What happens
is that the outer meta call may change the bindings pointer and the inner
meta call will change it again and, when it exits set it back to the
default. However, the outer meta call may be relying on it being left
alone so it uses the non-meta descriptor sets instead of its own.
2015-05-16 10:28:04 -07:00
Jason Ekstrand
4223de769e
vk/device: Simplify surface_count calculation
2015-05-16 10:23:09 -07:00
Ilia Mirkin
d7081828cc
tgsi/dump: fix declaration printing of tessellation inputs/outputs
...
mareko: only output second dimension for non-patch semantics
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:23 +02:00
Ilia Mirkin
dfc3bced2c
tgsi/ureg: allow ureg_dst to have dimension indices
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:23 +02:00
Marek Olšák
ec67d73a73
tgsi/ureg: use correct limit for max input count
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:23 +02:00
Ilia Mirkin
93c940736f
tgsi/sanity: set implicit in/out array sizes based on patch sizes
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:23 +02:00
Ilia Mirkin
5b45cbe7e2
tgsi/scan: allow scanning tessellation shaders
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:22 +02:00
Marek Olšák
2420ee497a
gallium: disable tessellation shaders for meta ops
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:22 +02:00
Marek Olšák
ed1b273ffc
gallium/cso: set NULL shaders at context destruction
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:22 +02:00
Marek Olšák
2a7da1bddb
gallium/cso: add support for tessellation shaders
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:22 +02:00
Marek Olšák
267ad27ab6
gallium/u_blitter: disable tessellation for all operations
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:22 +02:00
Marek Olšák
66630290df
gallium/util: print vertices_per_patch in util_dump_draw_info
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:22 +02:00
Marek Olšák
369aca1b4a
trace: implement new tessellation functions
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:22 +02:00
Ilia Mirkin
6b26206120
gallium: add set_tess_state to configure default tessellation parameters
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:22 +02:00
Ilia Mirkin
4dbfe6b627
gallium: add vertices_per_patch to draw info
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:51:15 +02:00
Ilia Mirkin
9e1ba1d689
gallium: add tessellation shader properties
...
v2: Marek: rename tess spacing definitions
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:48:54 +02:00
Ilia Mirkin
18bce2f194
gallium: add interfaces for controlling tess program state
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:48:54 +02:00
Marek Olšák
7ffc1fb928
gallium: bump shader input and output limits
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:48:54 +02:00
Ilia Mirkin
018aa27953
gallium: add new semantics for tessellation
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:48:54 +02:00
Ilia Mirkin
88c4f5d0a5
gallium: add new PATCHES primitive type
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:48:54 +02:00
Ilia Mirkin
398b0b3e36
gallium: add tessellation shader types
...
v2: Marek: rename shader types
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
2015-05-16 14:48:54 +02:00
Jason Ekstrand
eb1952592e
vk/glsl_helpers: Fix GLSL_VK_SHADER with respect to commas
...
Previously, the GLSL_VK_SHADER macro didn't work if the shader contained
commas outside of parentheses due to the way the C preprocessor works.
This commit fixes this by making it variadic again and doing it correctly
this time.
2015-05-15 22:17:07 -07:00
Ian Romanick
35c28103b0
glapi: Remove offset from the DTD
...
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
2015-05-15 20:23:34 -07:00
Ian Romanick
a75910071e
glapi: Whitespace clean up after the previous commit
...
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
2015-05-15 20:23:33 -07:00
Ian Romanick
f507d33d4f
glapi: Remove all offset tags from the XML
...
Changes generated by:
cd src/mapi/glapi/gen
for i in *.xml; do
cat $i |\
sed 's/[[:space:]]*offset="[^"]*">/>/' |\
sed 's/[[:space:]]*offset="[^"]*"[[:space:]]*$//' |\
sed 's/[[:space:]]*offset="[^"]*"[[:space:]]*/ /' > x
mv x $i
done
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
2015-05-15 20:23:31 -07:00
Ian Romanick
2b419e0db9
glapi: Use the offsets from static_data.py instead of from the XML
...
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Reviewed-by: Dylan Baker <baker.dylan.c@gmail.com >
2015-05-15 20:23:24 -07:00
Ian Romanick
0fe7eab8d9
glapi: Add a list of functions that are not used but still need dispatch slots
...
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
2015-05-15 20:23:20 -07:00
Ian Romanick
d2ee60cd52
glapi: Remove static dispatch for functions that didn't exist in NVIDIA
...
Comparing the output of
nm -D libGL.so.349.16 | grep ' T gl[^X]' | sed 's/.* T //'
between Catalyst NVIDIA 349.16 and this commit, the only change is a bunch
of functions that NVIDIA exports that Mesa does not.
If a function is not statically exported by either of the major binary
drivers on Linux, there is almost zero chance that any application
statically links with it.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
2015-05-15 20:23:19 -07:00
Ian Romanick
4adfc6ed31
glapi: Remove static dispatch for functions that didn't exist in fglrx
...
Comparing the output of
nm -D arch/x86_64/usr/X11R6/lib64/fglrx/fglrx-libGL.so.1.2 |\
grep ' T gl[^X]' | sed 's/.* T //'
between Catalyst 14.6 Beta and this commit, the only change is a bunch
of functions that AMD exports that Mesa does not and some OpenGL ES
1.1 functions that Mesa exported but AMD does not.
The OpenGL ES 1.1 functions (e.g., glAlphaFuncx) are added by extensions
in desktop. Our infrastructure doesn't allow us to statically export a
function in one lib and not in another. The GLES1 conformance tests
expect to be able to link with these functions, so we have to export
them.
If a function is not statically exported by either of the major binary
drivers on Linux, there is almost zero chance that any application
statically links with it.
As a side note... I find it odd that AMD exports glTextureBarrierNV but
not glTextureBarrier.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
2015-05-15 20:23:18 -07:00