Commit graph

30804 commits

Author SHA1 Message Date
Keith Whitwell
a9cdae2ae0 svga: texture from lod zero inside dynamic branching
Texture derivatives are potentially undefined inside dynamic branches,
so hardwire lod zero in this case.  Treating all if/endif and loop
constructs as dynamic branches.
2010-02-03 10:36:55 +00:00
Keith Whitwell
fc3efccdc6 svga: better method for generating white fs color outputs 2010-02-03 10:36:55 +00:00
Keith Whitwell
9b23e1f9a3 mesa/st: bump the gallium version number
This is a very informal version number, but there have been enough
changes that a bump is appropriate at this time.
2010-02-03 10:36:55 +00:00
Keith Whitwell
aac76dcea9 st/mesa: remove some floating point divides in viewport calculation
Compiler can't usually turn x/2.0f into x * 0.5f, though we're happy
with either.
2010-02-03 10:36:55 +00:00
José Fonseca
bd03025621 gallium-docs: Fix typo. 2010-02-03 09:04:46 +00:00
Dave Airlie
f9d734c309 r300: fix compiler bugs introduced with MRT changes.
the first looks like a definite bug, the second I'm not so confident
of but it works.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-02-03 18:58:11 +10:00
Chia-I Wu
0d089cbb48 egl: Rename _eglPreloadForEach callbacks.
Rename _eglPreloadFile to _eglLoaderFile, and _eglPreloadFile to
_eglLoaderFile.  There are several _eglPreload* functions.  The
callbacks do not belong to them and it should be better to give them a
different prefix.
2010-02-03 14:16:16 +08:00
Chia-I Wu
8e6a964411 egl: Fix a potential segfault in driver suffix matching.
The driver suffix might be NULL on some platforms.  Perform the matching
only when there is a suffix.
2010-02-03 14:16:16 +08:00
Chia-I Wu
2287f4c52a egl: Remove unnecessary #ifdef's.
There were some refactorings with the addition of EGL_DRIVERS_PATH.
They made some platform #ifdef's unnecessary.
2010-02-03 14:16:15 +08:00
Chia-I Wu
6fd8b6a9e2 egl: Ignore certain environment variables when setuid/setgid.
Specifically, ignore EGL_DRIVERS_PATH when an application is
setuid/setgid.  And ignore EGL_DRIVER when there is a slash in it.
2010-02-03 14:16:15 +08:00
Chia-I Wu
5d8646c41f egl: Add EGL_DRIVERS_PATH environment variable.
EGL_DRIVERS_PATH gives a list of colon-separated directories.  The given
directories will be searched when preloading drivers.

This is based on Mike Stroyan's patch, which honors the variable in
_eglPreloadDisplayDrivers.  It is extended to honor the variable also in
_eglPreloadUserDriver and _eglPreloadDefaultDriver in this version.
2010-02-03 14:16:15 +08:00
Brian Paul
6f2e9651a1 draw: remove old hard-coded shader length limits 2010-02-02 21:34:06 -07:00
Brian Paul
439036739d tgsi: added tgsi_alloc_tokens() 2010-02-02 21:23:23 -07:00
Brian Paul
c173eb990a draw: re-implement free_bit() with ffs() 2010-02-02 21:17:56 -07:00
Brian Paul
3d5e26ebec draw: comments and var renaming 2010-02-02 21:16:25 -07:00
Brian Paul
5670b44f82 tgsi: fix comment 2010-02-02 18:54:53 -07:00
Brian Paul
256f7f5ab2 draw: add const qualifiers, fix return types 2010-02-02 18:54:53 -07:00
Brian Paul
d6e55520e4 softpipe: remove unnecessary #include 2010-02-02 18:54:53 -07:00
Brian Paul
c740a7da61 draw: new, updated comments
Try to avoid future confusion between different, but similar functions.
2010-02-02 18:54:53 -07:00
Brian Paul
60b815604e llvmpipe: fix (potentially) broken AA points, AA lines
This patch duplicates the softpipe fix seen in the preceeding commit.
2010-02-02 18:54:53 -07:00
Brian Paul
54d7ec8e76 softpipe: fix broken AA points, AA lines
This fixes a regression when the geometry shaders branch was merged
to master with commit 89d8577fb3.

progs/demos/pointblast and progs/redbook/anti work again.
2010-02-02 18:54:53 -07:00
Corbin Simpson
797dcc04e5 gallium/docs: Opcode refs.
There is a very real possibility that I may be enjoying this too much.
2010-02-02 17:07:26 -08:00
Corbin Simpson
17c2a44761 gallium/docs: TGSI notes on replication to dst, and also cleanups.
Slowly, surely, I'm making this better.
2010-02-02 17:03:42 -08:00
Corbin Simpson
62ca7b85ae gallium/docs: Start turning notes into docs.
Yeah, what's that? You can read it? It's got, hmm, *readability*? Nice,
ain't it. :3
2010-02-02 17:03:41 -08:00
Corbin Simpson
8580522b14 gallium/docs: Add opcode formatting. 2010-02-02 17:03:41 -08:00
Brian Paul
3e572eb25e gallium/docs: default Z texture tuple is (z,z,z,1) for OpenGL 2010-02-02 16:27:07 -07:00
Brian Paul
3a3d8fb72e gallium/docs: s/convensions/conventions/ 2010-02-02 16:20:26 -07:00
Corbin Simpson
95dad1fa1c r300g: Texture format cleanups, per docs.
texenv is perfect now.
2010-02-02 13:03:31 -08:00
José Fonseca
aa8b49c9ca gallium: Move some compiler portability stuff into p_compiler.h 2010-02-02 20:55:08 +00:00
Corbin Simpson
516e7159ae gallium/docs: Did somebody call for a table? 2010-02-02 12:44:22 -08:00
Scott Moreau
3fedfc7128 Track frag shader changes introduced by commit 4769566500
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2010-02-02 11:52:17 -08:00
José Fonseca
25357696c3 gallium: Move deprecated pipe/internal/p_winsys_screen.h inside util/u_simple_screen.h 2010-02-02 16:09:56 +00:00
Francisco Jerez
88593fff49 mesa: Add a BITSET_FFS function.
It will be useful for the nouveau DRI driver and IMHO there's no
reason to keep it private.

Signed-off-by: Brian Paul <brianp@vmware.com>
2010-02-02 08:53:57 -07:00
José Fonseca
2aaca1df9d gallium: Move p_thread.h and p_atomic.h out of gallium interfaces.
Into os/os_thread.h and util/u_atomic.h respectively.
2010-02-02 15:18:01 +00:00
Brian Paul
4778f46bb5 gallium/docs: table of texture formats and (x,y,z,w) tuples returned by TEX
Maybe someone can convert this into a real table instead of just
preformatted text.
2010-02-02 08:14:43 -07:00
José Fonseca
38f6f23fcf gallium: Make pipe_atomic a regular int32_t. 2010-02-02 14:43:48 +00:00
José Fonseca
28486880ca gallium: pipe/p_inlines.h -> util/u_inlines.h 2010-02-02 14:42:17 +00:00
Corbin Simpson
4fea39721d r300compiler: Add MRT number to debugging output. 2010-02-02 04:53:13 -08:00
Corbin Simpson
4769566500 r300compiler, r300 classic, r300g: Add support for MRTs in the frag shader.
This maybe breaks the vert compiler. Hopefully not.
2010-02-02 04:53:12 -08:00
Michal Krol
ad83f3bf0a tgsi: ureg_DECL_gs_input() accepts shader semantics. 2010-02-02 10:42:13 +01:00
Igor Oliveira
301a9437cc vega: implement tgsi_ureg shaders cache 2010-02-02 00:21:56 -05:00
Igor Oliveira
231d5457b2 vega: change tgsi asm by tgsi_ureg 2010-02-02 00:21:52 -05:00
Pauli Nieminen
edad20fff1 r200: Fix EXT_fogcoord rendering.
The fogcoord calue was not pushed to GPU because of implicit float to int conversion.
Fix is to use float pointer to buffer object so no conversion is done in assigment
2010-02-02 05:53:13 +02:00
Corbin Simpson
565f0cef26 r300g: Fix funky segfault. 2010-02-01 19:48:24 -08:00
Chia-I Wu
01dcadab8b st/egl: Wrong context might be used in eglBindTexImage.
If the pbuffer surface is current, gctx is set to the current context.
Make sure it is set to OpenGL ES 1 context again before binding.
2010-02-02 11:35:11 +08:00
Chia-I Wu
7fc35811c4 docs: Update for EGL environment variables.
Mention that EGL_DRIVER should be a full path, and add a link from
envvars.html to egl.html.
2010-02-02 11:06:29 +08:00
Chia-I Wu
5fa4ea2934 progs/es2: Fix an assertion failure in tri.
EGL_SURFACE_TYPE is a config attribute, not a surface attribute.  Thanks
to Mike Stroyan for pointing out this error.
2010-02-02 10:45:00 +08:00
Brian Paul
bdf975e9ad st/mesa: fix texture deallocation bug
This fixes a bug reported by Christoph Bumiller on mesa3d-dev.

When a texture is first created as RGBA, then re-defined with
glTexImage(internalFormat=GL_DEPTH_COMPONENT) we failed to deallocate
the original texture.  When this texture was bound as a FBO surface,
the depth/Z surface format was RGBA instead of Z.  Depending on the
driver this led to a failed assertion or FBO validation failure.

This patch does three things:

1. Remove ancient code that mysteriously tested if we were replacing
the smallest mipmap level and tested if the texture was not a cube map
texture.  I can't see any reason for those tests.

2. Move the width=height=depth=0 test to after the code which frees
texture data.  Calling glTexImage with width=height=depth=0 and data=NULL
is a way to free a single mipmap level.

3. Update the code comments.

There are no apparent conform, glean or piglit regressions from this change.

(cherry picked from commit 43e4b58422)
2010-02-01 19:04:16 -07:00
Brian Paul
04b14e26a2 progs/tests: add another FBO test to exercise a RGBA vs. Z texture bug
See comments in file for more details.
2010-02-01 19:02:52 -07:00
Brian Paul
a2ddb3d209 mesa: change _mesa_find_free_register() to find multiple free regs
Before, _mesa_find_free_register() would scan the given shader to
find a free/unused register of the given type.  But subsequent calls
would return the same register again.  This caused a failure in the
_mesa_remove_output_reads() function which sometimes needs several
free temps.

Now use a new function which build a vector of 'used' flags and another
function which searches that vector for an unused register starting at
a position that's incremented for each call.

Fixes fd.o bug 26317.  Note that a regression test for this has been
added to the glean/glsl1 test.

(cherry picked from commit e0d01c9d7f)
2010-02-01 18:00:12 -07:00