Age | Commit message (Collapse) | Author |
|
This is like how we track FragmentProgram._Current for the computed
ARB fragment program for fixed function texenv, but this gives direct
access to the gl_shader_program for drivers to codegen from, skipping
ARB_fp.
|
|
This is a step towards providing a direct route for drivers accepting
GLSL IR for codegen. Perhaps more importantly, it runs the fixed
function fragment program through the GLSL IR optimization. Having
seen how easy it is to make ugly fixed function texenv code that can
do unnecessary work, this may improve real applicatinos.
|
|
It would be nice if we handled optimized uniform math like this in
some generic way, since people often end up doing uniform expressions
in shaders, but for now keep this hard-coded like it was in the
texenvprogram code.
|
|
For fixed function fragment processing in GLSL IR, we want to be able
to reference this state value. gl_* not explicitly permitted is
reserved, so using this variable name internally shouldn't be any
issue.
|
|
This file is about to change to generating a shader program instead of
a fragment program.
|
|
It fails on assertions if the key isn't actually present.
|
|
The gl_program_constants struct is for limits that are applicable to
any/all shader stages. Move the geometry shader-only fields into the
gl_constants struct.
Remove redundant MaxGeometryUniformComponents field too.
|
|
and rename them.
|
|
Need to flush rendering (or at least indicate that the rug might be getting
pulled out from underneath us) when a shader, buffer object or query object
is about to be deleted.
Also, this helps to tell the VBO module to unmap its current vertex buffer.
|
|
LUMINANCE_ALPHA_LATC2 = LUMINANCE_ALPHA_3DC, so this is easy.
Note that there is no specification for 3DC, just a few white papers
from ATI.
|
|
The encoding/decoding algorithms are shared with RGTC.
Thanks to some magic with the base format, the RGTC texstore functions work
for LATC too.
swrast passes the related piglit tests besides two things:
- The alpha channel is wrong (it's always 1), however the incorrect alpha
channel makes some other tests fail too, so I guess it's unrelated to LATC.
- Signed LATC fetches aren't correct yet (signed values are clamped to [0,1]),
however RGTC has the same problem.
Further testing (with other of my patches) shows that hardware drivers
and softpipe work.
BTW, ETQW uses this extension.
|
|
|
|
RenderTexture doesn't have to be called in invalidate_rb, I guess.
|
|
The mutex's fields were all zeros. That's OK on Linux, but not Windows.
NOTE: This is a candidate for the 7.10 branch.
|
|
Leftover debug code from 6364d75008b4fa580c1cb47c59ba1cf3e0caa6cd.
|
|
See https://bugs.freedesktop.org/show_bug.cgi?id=29418
|
|
This reverts commit 1f9a0a4e6e5566c36c781add5f1e62af3efdfb58.
This caused trouble with Lightsmark w/ i965 driver and fbo/fbo-blit-d24s8
(see bug 34894). It's probably something simple but no time to debug now.
|
|
I'd like to share this file with gallium u_format stuff.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This function can be done in the include file also.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
With signed types we weren't hitting this test however the comment
stating this doesn't happen often doesn't apply when using signed
types since an all 0 block is quite common which isn't abs min or max.
this fixes the limits correctly again also.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
if the values are all in the last dword, the high bits can be 0,
This fixes a valgrind warning I saw when playing with mipmaps.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
My previous fix to the byte max was incorrect.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
this allows swrast to pass mipmap generation for these formats.
|
|
The max value was wrong and this showed up in the piglit tests.
|
|
No idea why I didn't do it like this the first time, but share
the code like other portions of mesa do using _tmp.h suffix
and some #defines for the types.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
These were only used by GL_SGI_texture_color_table, which is gone now.
|
|
It was only implemented in the swrast driver and probably not used by
any applications. A modern app would use a dependent/chained texture
lookup in the fragment shader.
|
|
|
|
|
|
when updating/validating framebuffer state. The _Status field is set
to zero when we need to recompute _Status. Otherwise, it's up to date.
|
|
when doing glCopyTex[Sub]Image() and checking the source buffer's
completeness.
We only need to determine FBO completeness when the status is indeterminate.
|
|
|
|
should fix scons build.
|
|
|
|
|
|
This adds support for the RGTC unsigned and signed
texture storage and fetch methods.
the code is a port of the DXT5 alpha compression code.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
We need this to do signed stuff for RGTC.
|
|
|
|
|
|
This reverts commit e9ff76aa81d9bd973d46b7e46f1e4ece2112a5b7.
Need to use macros so __FUNCTION__ reports the caller.
|
|
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
|
|
Suggested by a freedesktop.org admin.
Signed-off-by: Cyril Brulebois <kibi@debian.org>
|
|
|
|
This was sometimes useful back when 16-bit framebuffers were prominent.
|
|
|
|
|