Dave Airlie
43a8e9c749
shader: don't use a single temps array
...
Create a bunch of temp arrays based on the input TGSI
ranges. Otherwise the temps code triggers a lack of
some passes in the mesa GLSL compiler.
A large shader from shadertoy triggered 1m30s compile in mesa
due to the large temp array.
Reported-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years ago
Marc-André Lureau
0738199d41
renderer: return an int in vrend_renderer_init
...
This is an internal API.
9 years ago
Dave Airlie
ab0857c1b7
tgsi: update tgsi info files.
...
These were missed in previous tgsi update
9 years ago
Marc-André Lureau
aa34024038
build-sys: misc cleanups
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years ago
Dave Airlie
aee033c1c4
renderer: don't free tmp_buf if shader create fails.
...
Noticed by Marc-Andre.
9 years ago
Dave Airlie
9787608091
gallium/tgsi: update with some newer gallium pieces
...
This updates the tgsi code from mesa, it introduces
changes necessary to deal with tessellation and doubles.
It also drops an unused saturate feature, which we didn't
use anyways.
9 years ago
Dave Airlie
e9d3c0c27a
renderer: fix alpha swizzle detection
...
We need to check if any swizzles point to alpha and fix
them up, not just the alpha one.
This fixes misrendering in gnome-shell.
9 years ago
Dave Airlie
23d4d5caa5
renderer: patch blending up before draws.
...
We might need to patch blending state up for xrgb destinations,
and for for a8/a16 destinations we need to patch colormask and
blendcolor.
9 years ago
Dave Airlie
bd64c81fc2
renderer: handle rendering to A8 surfaces.
...
I'm not sure this is 100% complete, piglit fbo-alpha now passes.
This was a guess as to why gnome-shell was broken, but I don't think
it was the correct one.
9 years ago
Dave Airlie
ee45480c5d
renderer: fix GLSL1.30 shader translation
...
If we were running on a GLSL 1.30 backend, shader translation
was broken.
9 years ago
Dave Airlie
e4cbf508f2
renderer: handle pixel pack buffer pre texture buffer objects
...
Testing on a GL3.0 profile showed this as broken with glamor.
9 years ago
Marc-André Lureau
2ee8859757
renderer: fix potential leak
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years ago
Dave Airlie
031d582bc1
renderer: emit clip distances before emitting position
...
This fixes piglit fixed-clip-enables test.
9 years ago
Dave Airlie
85602b31bd
renderer: fix regression in shader binding
...
made a mistake in the shader binding code, not good,
time for brown paper bag.
9 years ago
Dave Airlie
72688632e7
virglrenderer: fix make distcheck
9 years ago
Dave Airlie
a80cf0eb29
virgl: virgl_egl.h is an internal header.
...
No need to install this for anyone else
9 years ago
Dave Airlie
89c5b02ec1
virgl: drop helper module.
...
This was originally to be used by qemu, but we didn't need it
in the end.
9 years ago
Dave Airlie
92b00c978b
renderer: CLEANUP - remove TABs
...
I didn't do a good enough job last time at purging these.
9 years ago
Dave Airlie
81b741a05c
virgl/shaders: handle large shaders.
...
the protocol failed to handle larger shaders, this allow
the renderer to reassemble large shaders and recombined
the chunks before passing them to the GLSL translation.
This also enhances the renderer protocol to allow
for some more info in the shader object, and removes
the separate vs/gs/fs variants in favour of a type field
in the shader.
9 years ago
Dave Airlie
fd8116476b
virgl: add query index to top 16-bits of query type.
...
This is an ABI valid change, we won't get passed indices
unless we advertise later GLSL versions.
9 years ago
Dave Airlie
b4cd13e121
virgl: add two more single-bit caps.
...
This doesn't break API.
9 years ago
Dave Airlie
25f4d39b50
virgl: use shader stencil export if it's available.
9 years ago
Dave Airlie
18f8f38f9f
renderer: fix transform feedback buffers number
...
We should always report 4 to get GL3.3.
9 years ago
Dave Airlie
9921144812
shader: fix two sided color interpolation
...
We need to declare both colors if we declare one, so the
vertex and fragment shaders link.
Fixes glsl-1.10 interpolation* and glsl-1.30 interpolation*
9 years ago
Dave Airlie
dd4345b5af
renderer: bail if we don't have a program when we need it.
...
This is just avoiding a crash, it really shouldn't happen,
but we don't want to crash if it does.
9 years ago
Dave Airlie
4385520930
renderer: fix compressed transfer gets
...
This code ended up in the other file and really wasn't necessary
there.
Remove the transfer code from virglrenderer.c, move into main
renderer file, and match it with the corresponding transfer
reader.
This should at least fix the crash in compressed textures
with ARB_get_texture_sub_image
9 years ago
Dave Airlie
94a415e3c7
transform feedback: handle haswell lack of ARB_transform_feedback2
...
This might have some fallout but my HSW doesn't expose this due
to some kernel restrictions, so we should handle the situation
and not call TF2 functions
9 years ago
Dave Airlie
674d730e90
shader: drop the unsupported file declaration for sampler views
...
These aren't required to be parsed, but we can them.
9 years ago
Marc-André Lureau
814f638d42
egl: update mesa_dma_buf_img_export usage
10 years ago
Marc-André Lureau
5d17df15a6
egl: call virgl_egl_get_fourcc_for_texture only if use_egl_context
10 years ago
Dave Airlie
3263d939b2
virglrenderer: add some more code liceneses
10 years ago
Dave Airlie
a9ba2c442e
build: move include to virgl subdir
10 years ago
Dave Airlie
16990471e7
renderer: misc cleanups
...
move some static decls around,
drop useless struct
10 years ago
Dave Airlie
38f01a3daf
renderer: reorder some structs to remove holes
10 years ago
Dave Airlie
7e85c2f114
renderer: CLEANUP: whitespace and reindent
...
this uses the mesa coding style, pray I never have to do
this again.
strip all trailing whitespace as much as possible
10 years ago
Dave Airlie
59b9cb549a
renderer: fix some minor sparse warnings
10 years ago
Dave Airlie
aca150b35b
renderer: move explicit locations hack into shader cfg
10 years ago
Dave Airlie
ca23e98b22
renderer: CLEANUP: boolean/GLboolean -> bool
...
use stdbool.h as much as possible
some of the gallium code imported uses boolean
so leave it alone for now
10 years ago
Dave Airlie
a20ce55f73
renderer: drop unused define
10 years ago
Dave Airlie
489ee11ce8
renderer: drop glewIsSupported wrapper.
...
no need to be lazy anymore, commited to epoxy now
10 years ago
Dave Airlie
670917888f
renderer: move mesa invert pack into detection code
10 years ago
Dave Airlie
d7a69a1af9
renderer: move some more globals into renderer state
10 years ago
Dave Airlie
0a20f57737
renderer: move inited into global state object
10 years ago
Dave Airlie
be6d023313
renderer: drop commented out line
10 years ago
Dave Airlie
0a55b3264c
renderer: split out draw time sampler/ubo setup to separate functions
...
Trying to clean up the draw vbo functions a little.
The commit looks wierd, the final code looks better
10 years ago
Dave Airlie
c76148ec17
renderer: start trying to support ARB_vertex_attrib_binding
...
this extension simplifies a lot of code in the renderer,
so we should use it where we can.
10 years ago
Dave Airlie
b3d5589897
renderer: split vertex element/vbo binding code out
...
this just moves the code to a separate function,
without changing anything.
10 years ago
Dave Airlie
9259bc768e
renderer: handle transform feedback 2 and 3 extensions
...
This fixes a number of issues with how transform feedback works
it does requires ARB_transform_feedback3 to work at all, but
hopefully this extension is widespread enough, if not we can
revisit later.
It uses transform feedback objects to store the stream out
state.
10 years ago
Dave Airlie
c89bb9c5f9
renderer: advertise tf2/3 on guest side.
...
if we have tf3, advertise it.
10 years ago
Dave Airlie
3b6f3d9301
renderer: fix separate transform feedback
...
if we are writing to separate buffers use the gl_NextBuffer
from ARB_transform_feedback3.
fixes: ext_transform_feedback-separate attribs
10 years ago