Igor Oliveira [Wed, 3 Feb 2010 22:37:36 +0000 (18:37 -0400)]
egl: fix implicit declaration of pipe_texture_reference adding u_inlines.h
Igor Oliveira [Wed, 3 Feb 2010 21:51:30 +0000 (17:51 -0400)]
egl: fix wrong argument. Use loader_data instead of loader
Dave Airlie [Thu, 4 Feb 2010 00:52:43 +0000 (10:52 +1000)]
gallium: fix more missing includes from various places
nouveau/ dri st / vmware
Dave Airlie [Thu, 4 Feb 2010 00:00:13 +0000 (10:00 +1000)]
nouveau: include stdio.h and u_inlines.h in all context files since embedded changes
fixes nouveau build for me.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Brian Paul [Wed, 3 Feb 2010 22:47:44 +0000 (15:47 -0700)]
mesa: increase number of texture units to MAX_COMBINED_TEXTURE_IMAGE_UNITS
We were misinterpretting GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS previously.
It's the number of texture units for which we need to keep state; not
just the total number of texture units addressable by the vertex shader
plus fragment shader.
Since sw Mesa independently supports 16 texture units in vertex shaders
and 16 texture units in fragment shaders, the max combined units is 32.
Note that the docs for glActiveTexture() indicate the max legal unit is
MAX(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, MAX_TEXTURE_COORDS) - 1.
A new piglit test (texunits.c) tests the various texture unit limits.
I'm pretty sure I've got this all right now, but additional reviews
are welcome...
Brian Paul [Wed, 3 Feb 2010 21:09:48 +0000 (14:09 -0700)]
mesa: re-dimension RasterTexCoords and CoordReplace
These are limited to the number of texture coordinate units.
Brian Paul [Wed, 3 Feb 2010 20:24:43 +0000 (13:24 -0700)]
mesa: added texcoord unit assertion
Brian Paul [Wed, 3 Feb 2010 20:21:42 +0000 (13:21 -0700)]
mesa: use Elements() instead of MAX_TEXTURE_COORD_UNITS
Brian Paul [Wed, 3 Feb 2010 20:20:04 +0000 (13:20 -0700)]
mesa: added tex unit assert, use Elements() macro
Brian Paul [Wed, 3 Feb 2010 20:16:53 +0000 (13:16 -0700)]
mesa: check for invalid texture coord unit in glGet queries
Brian Paul [Wed, 3 Feb 2010 19:42:24 +0000 (12:42 -0700)]
mesa: check/clamp texture/program matrix accesses
Further testing should reveal if any these assertions are hit...
Brian Paul [Wed, 3 Feb 2010 19:31:27 +0000 (12:31 -0700)]
mesa: add error check for querying invalid texture matrix
Brian Paul [Wed, 3 Feb 2010 19:26:02 +0000 (12:26 -0700)]
mesa: use Elements() as limit in loops over texture/program matrix stacks
Brian Paul [Wed, 3 Feb 2010 19:25:28 +0000 (12:25 -0700)]
mesa: add out of bounds assertions for accessing texture matrix stack
José Fonseca [Wed, 3 Feb 2010 22:16:39 +0000 (22:16 +0000)]
util: Cast to match the MSVC intrinsics.
The cast is not optional in C++.
José Fonseca [Wed, 3 Feb 2010 22:15:53 +0000 (22:15 +0000)]
util: Don't include system headers inside extern "C" { ... }
That breaks when some of the system headers have C++ code.
José Fonseca [Wed, 3 Feb 2010 18:54:13 +0000 (18:54 +0000)]
Merge branch 'gallium-embedded'
José Fonseca [Wed, 3 Feb 2010 15:56:36 +0000 (15:56 +0000)]
gallium/docs: Document the OS module.
Brian Paul [Wed, 3 Feb 2010 15:50:32 +0000 (08:50 -0700)]
tgsi: added debugging code to catch divide by zero
Brian Paul [Wed, 3 Feb 2010 15:47:07 +0000 (08:47 -0700)]
tgsi: convert CHECK_INF_OR_NAN to inline function
And disable with if (0). Inf/NaN can occur normally during program
execution. Only enable the check code when needed during debugging.
Francisco Jerez [Wed, 3 Feb 2010 11:21:04 +0000 (03:21 -0800)]
mesa: Factor out the fb initialization details from _mesa_new_framebuffer.
This should make things easier for drivers wanting to work with a
"subclass" of gl_framebuffer.
The complementary "_mesa_initialize_framebuffer" function is now
called "_mesa_initialize_window_framebuffer" for the sake of
symmetry.
Signed-off-by: Brian Paul <brianp@vmware.com>
José Fonseca [Wed, 3 Feb 2010 12:57:49 +0000 (12:57 +0000)]
os: Also add the aligned memory prototypes to the embedded section.
José Fonseca [Wed, 3 Feb 2010 12:13:06 +0000 (12:13 +0000)]
util: Reimplement all utility functions in terms of the new OS abstraction.
José Fonseca [Wed, 3 Feb 2010 12:11:58 +0000 (12:11 +0000)]
os: New OS abstraction module.
Keith Whitwell [Wed, 3 Feb 2010 11:52:14 +0000 (11:52 +0000)]
vbo: fix void * arithmetic warning
Francisco Jerez [Wed, 3 Feb 2010 11:18:28 +0000 (03:18 -0800)]
vbo: Fix up in-place splitting for non-contiguous/indexed primitives.
The in-place splitting code wasn't dealing with index buffers at all
(and it was being called from vbo_split_prims for too big index
buffers, causing some occasional corruption).
Additionally, it wasn't taking into account primitives arrays with
non-contiguous indices (e.g. given prim[0].start = 0 and prim[1].start
= max_verts, it would happily call back the driver with (max_index -
min_index) still greater than max_verts, causing infinite recursion).
It still doesn't handle too large indexed vertex buffers: use
vbo_split_copy for that.
José Fonseca [Wed, 3 Feb 2010 11:06:23 +0000 (11:06 +0000)]
trace: Include the appropriate header instead of defining prototypes.
Avoids header when the header was included before.
Keith Whitwell [Tue, 2 Feb 2010 20:20:11 +0000 (20:20 +0000)]
progs/fpglsl: couple more tests
Keith Whitwell [Tue, 2 Feb 2010 20:01:30 +0000 (20:01 +0000)]
progs/fpglsl: fp-tris for glsl
Keith Whitwell [Tue, 2 Feb 2010 18:01:52 +0000 (18:01 +0000)]
svga: fix TXD and TXL opcode translation
Keith Whitwell [Tue, 2 Feb 2010 17:45:32 +0000 (17:45 +0000)]
svga: deriv insns not valid in dynamic flow control either
Keith Whitwell [Tue, 2 Feb 2010 15:34:01 +0000 (15:34 +0000)]
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.
Keith Whitwell [Tue, 26 Jan 2010 15:52:46 +0000 (15:52 +0000)]
svga: better method for generating white fs color outputs
Keith Whitwell [Tue, 12 Jan 2010 16:19:29 +0000 (16:19 +0000)]
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.
Keith Whitwell [Mon, 11 Jan 2010 16:15:37 +0000 (16:15 +0000)]
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.
José Fonseca [Wed, 3 Feb 2010 08:56:34 +0000 (08:56 +0000)]
gallium-docs: Fix typo.
Dave Airlie [Wed, 3 Feb 2010 08:56:40 +0000 (18:56 +1000)]
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>
Chia-I Wu [Wed, 3 Feb 2010 04:38:03 +0000 (12:38 +0800)]
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.
Chia-I Wu [Wed, 3 Feb 2010 04:35:57 +0000 (12:35 +0800)]
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.
Chia-I Wu [Tue, 2 Feb 2010 09:05:56 +0000 (17:05 +0800)]
egl: Remove unnecessary #ifdef's.
There were some refactorings with the addition of EGL_DRIVERS_PATH.
They made some platform #ifdef's unnecessary.
Chia-I Wu [Tue, 2 Feb 2010 08:47:53 +0000 (16:47 +0800)]
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.
Chia-I Wu [Tue, 2 Feb 2010 07:34:55 +0000 (15:34 +0800)]
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.
Brian Paul [Wed, 3 Feb 2010 04:34:06 +0000 (21:34 -0700)]
draw: remove old hard-coded shader length limits
Brian Paul [Wed, 3 Feb 2010 04:23:23 +0000 (21:23 -0700)]
tgsi: added tgsi_alloc_tokens()
Brian Paul [Wed, 3 Feb 2010 04:17:56 +0000 (21:17 -0700)]
draw: re-implement free_bit() with ffs()
Brian Paul [Wed, 3 Feb 2010 04:16:25 +0000 (21:16 -0700)]
draw: comments and var renaming
Brian Paul [Wed, 3 Feb 2010 01:28:25 +0000 (18:28 -0700)]
tgsi: fix comment
Brian Paul [Wed, 3 Feb 2010 01:54:12 +0000 (18:54 -0700)]
draw: add const qualifiers, fix return types
Brian Paul [Wed, 3 Feb 2010 01:53:53 +0000 (18:53 -0700)]
softpipe: remove unnecessary #include
Brian Paul [Wed, 3 Feb 2010 01:50:19 +0000 (18:50 -0700)]
draw: new, updated comments
Try to avoid future confusion between different, but similar functions.
Brian Paul [Wed, 3 Feb 2010 01:43:11 +0000 (18:43 -0700)]
llvmpipe: fix (potentially) broken AA points, AA lines
This patch duplicates the softpipe fix seen in the preceeding commit.
Brian Paul [Wed, 3 Feb 2010 01:42:22 +0000 (18:42 -0700)]
softpipe: fix broken AA points, AA lines
This fixes a regression when the geometry shaders branch was merged
to master with commit
89d8577fb3036547ef0b47498cc8dc5c77f886e0.
progs/demos/pointblast and progs/redbook/anti work again.
Corbin Simpson [Wed, 3 Feb 2010 01:07:26 +0000 (17:07 -0800)]
gallium/docs: Opcode refs.
There is a very real possibility that I may be enjoying this too much.
Corbin Simpson [Wed, 3 Feb 2010 01:02:28 +0000 (17:02 -0800)]
gallium/docs: TGSI notes on replication to dst, and also cleanups.
Slowly, surely, I'm making this better.
Corbin Simpson [Wed, 3 Feb 2010 00:36:34 +0000 (16:36 -0800)]
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
Corbin Simpson [Wed, 3 Feb 2010 00:20:12 +0000 (16:20 -0800)]
gallium/docs: Add opcode formatting.
Brian Paul [Tue, 2 Feb 2010 23:27:07 +0000 (16:27 -0700)]
gallium/docs: default Z texture tuple is (z,z,z,1) for OpenGL
Brian Paul [Tue, 2 Feb 2010 23:20:26 +0000 (16:20 -0700)]
gallium/docs: s/convensions/conventions/
Corbin Simpson [Tue, 2 Feb 2010 21:03:31 +0000 (13:03 -0800)]
r300g: Texture format cleanups, per docs.
texenv is perfect now.
José Fonseca [Tue, 2 Feb 2010 20:55:08 +0000 (20:55 +0000)]
gallium: Move some compiler portability stuff into p_compiler.h
Corbin Simpson [Tue, 2 Feb 2010 20:44:22 +0000 (12:44 -0800)]
gallium/docs: Did somebody call for a table?
Scott Moreau [Tue, 2 Feb 2010 18:59:53 +0000 (11:59 -0700)]
Track frag shader changes introduced by commit
4769566500be1a53dd9b4cc1a613aef439a0e3d8
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
José Fonseca [Tue, 2 Feb 2010 16:09:56 +0000 (16:09 +0000)]
gallium: Move deprecated pipe/internal/p_winsys_screen.h inside util/u_simple_screen.h
Francisco Jerez [Tue, 2 Feb 2010 11:07:08 +0000 (03:07 -0800)]
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>
José Fonseca [Tue, 2 Feb 2010 15:18:01 +0000 (15:18 +0000)]
gallium: Move p_thread.h and p_atomic.h out of gallium interfaces.
Into os/os_thread.h and util/u_atomic.h respectively.
Brian Paul [Tue, 2 Feb 2010 15:14:40 +0000 (08:14 -0700)]
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.
José Fonseca [Tue, 2 Feb 2010 14:43:48 +0000 (14:43 +0000)]
gallium: Make pipe_atomic a regular int32_t.
José Fonseca [Tue, 2 Feb 2010 14:42:17 +0000 (14:42 +0000)]
gallium: pipe/p_inlines.h -> util/u_inlines.h
Corbin Simpson [Wed, 11 Nov 2009 11:08:08 +0000 (03:08 -0800)]
r300compiler: Add MRT number to debugging output.
Corbin Simpson [Wed, 11 Nov 2009 11:06:51 +0000 (03:06 -0800)]
r300compiler, r300 classic, r300g: Add support for MRTs in the frag shader.
This maybe breaks the vert compiler. Hopefully not.
Michal Krol [Tue, 2 Feb 2010 09:42:13 +0000 (10:42 +0100)]
tgsi: ureg_DECL_gs_input() accepts shader semantics.
Igor Oliveira [Tue, 2 Feb 2010 02:02:15 +0000 (22:02 -0400)]
vega: implement tgsi_ureg shaders cache
Igor Oliveira [Tue, 2 Feb 2010 02:01:51 +0000 (22:01 -0400)]
vega: change tgsi asm by tgsi_ureg
Pauli Nieminen [Tue, 2 Feb 2010 03:39:28 +0000 (05:39 +0200)]
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
Corbin Simpson [Tue, 2 Feb 2010 03:47:46 +0000 (19:47 -0800)]
r300g: Fix funky segfault.
Chia-I Wu [Tue, 2 Feb 2010 03:22:51 +0000 (11:22 +0800)]
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.
Chia-I Wu [Tue, 2 Feb 2010 03:05:19 +0000 (11:05 +0800)]
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.
Chia-I Wu [Tue, 2 Feb 2010 02:40:32 +0000 (10:40 +0800)]
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.
Brian Paul [Tue, 2 Feb 2010 02:04:16 +0000 (19:04 -0700)]
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
43e4b584227534e30e487e7fb7e99d6501cbcd85)
Brian Paul [Tue, 2 Feb 2010 02:02:52 +0000 (19:02 -0700)]
progs/tests: add another FBO test to exercise a RGBA vs. Z texture bug
See comments in file for more details.
Brian Paul [Tue, 2 Feb 2010 01:00:12 +0000 (18:00 -0700)]
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
e0d01c9d7f46ccd531f8dd1a04c5ac067200ef1e)
Corbin Simpson [Mon, 1 Feb 2010 20:47:03 +0000 (12:47 -0800)]
r300g: Inline immediates where possible.
Oh look, more gears. Seems to work just fine though.
Keith Whitwell [Mon, 1 Feb 2010 20:42:34 +0000 (20:42 +0000)]
st/mesa: remove duplicate calculation of fp input mapping
This was being calculated the same way in two different places.
Now just do it in st_translate_fragment_program().
Keith Whitwell [Mon, 1 Feb 2010 20:32:32 +0000 (20:32 +0000)]
st/mesa: remove dead stfp input_map array
Was being calculated and not used. Also was probably incorrect...
Brian Paul [Mon, 1 Feb 2010 20:03:25 +0000 (13:03 -0700)]
mesa: added _mesa_print_vp/p_inputs() functions (debug aids)
Brian Paul [Sat, 30 Jan 2010 20:10:08 +0000 (13:10 -0700)]
glslcompiler: add glapi_nop.o to OBJECTS
José Fonseca [Mon, 1 Feb 2010 16:12:44 +0000 (16:12 +0000)]
gallium: Use MSVC atomic intrinsics directly instead of the Windows header wrappers.
José Fonseca [Mon, 1 Feb 2010 16:11:46 +0000 (16:11 +0000)]
gallium: Remove unnecessary includes. Add others to compensate.
José Fonseca [Mon, 1 Feb 2010 15:12:20 +0000 (15:12 +0000)]
mesa: Add missing includes.
José Fonseca [Mon, 1 Feb 2010 15:11:34 +0000 (15:11 +0000)]
llvmpipe: Add missing includes.
José Fonseca [Mon, 1 Feb 2010 15:11:18 +0000 (15:11 +0000)]
i915: Add missing includes.
José Fonseca [Mon, 1 Feb 2010 15:11:06 +0000 (15:11 +0000)]
util: Add missing includes.
José Fonseca [Mon, 1 Feb 2010 15:10:51 +0000 (15:10 +0000)]
draw: Add missing includes.
José Fonseca [Mon, 1 Feb 2010 14:23:36 +0000 (14:23 +0000)]
gallium: Drop mutex-based pipe_atomic implementation.
First step to severe the dependency in OS abstractions from the Gallium
interfaces.
Vinson Lee [Mon, 1 Feb 2010 08:43:33 +0000 (00:43 -0800)]
mesa: Remove unnecessary headers.
Vinson Lee [Mon, 1 Feb 2010 08:22:50 +0000 (00:22 -0800)]
glx: Remove unnecessary headers.
Vinson Lee [Mon, 1 Feb 2010 07:52:48 +0000 (23:52 -0800)]
st/dri: Remove duplicate type qualifier.
Vinson Lee [Mon, 1 Feb 2010 07:47:07 +0000 (23:47 -0800)]
i965g: Add missing va_end.
Vinson Lee [Mon, 1 Feb 2010 06:38:25 +0000 (22:38 -0800)]
r300g: Fix memory leak on memory allocation failure.
Vinson Lee [Mon, 1 Feb 2010 06:33:01 +0000 (22:33 -0800)]
r600: Remove duplicate assignment.