mesa.git
14 years agoi965: Make rasterization of single and multiple quad prims match.
Eric Anholt [Mon, 17 May 2010 17:42:25 +0000 (10:42 -0700)]
i965: Make rasterization of single and multiple quad prims match.

This is trying to follow the spirit of the invariance rules, though
they're not specific on this point.  Fixes quad-invariance piglit test
while retaining the 22s -> 18s win on glean blendFunc.

This was a regression in c67d9d84f501f145f841c0b981caff6f4dfd936f.

14 years agogallivm: Tweak ret_mask handling.
José Fonseca [Mon, 17 May 2010 14:22:48 +0000 (15:22 +0100)]
gallivm: Tweak ret_mask handling.

14 years agogallivm: implement function calls by inlining
Zack Rusin [Mon, 17 May 2010 03:27:53 +0000 (23:27 -0400)]
gallivm: implement function calls by inlining

with this approach we inline the entire function body in the caller

14 years agoi965g: Fix printf format specifier.
José Fonseca [Sun, 16 May 2010 13:01:28 +0000 (14:01 +0100)]
i965g: Fix printf format specifier.

14 years agoi965: Remove the half-baked code for multiple OQs at the same time.
Eric Anholt [Sun, 16 May 2010 22:08:56 +0000 (15:08 -0700)]
i965: Remove the half-baked code for multiple OQs at the same time.

GL doesn't actually let you begin an OQ while one is active, so the
extra work was pointless.

14 years agoi965: Remove unused occlusion query struct field.
Eric Anholt [Sun, 16 May 2010 22:02:45 +0000 (15:02 -0700)]
i965: Remove unused occlusion query struct field.

14 years agor300/compiler: fix peephole optimizer
Tom Stellard [Fri, 14 May 2010 00:15:49 +0000 (02:15 +0200)]
r300/compiler: fix peephole optimizer

Tested-by: Marek Olšák <maraeo@gmail.com>
14 years agor300/compiler: Implement simple peephole optimizer
Nicolai Hähnle [Sun, 11 Oct 2009 14:13:02 +0000 (16:13 +0200)]
r300/compiler: Implement simple peephole optimizer

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
14 years agor300g: implement flush+sync (AKA glFinish)
Marek Olšák [Sun, 16 May 2010 16:43:44 +0000 (18:43 +0200)]
r300g: implement flush+sync (AKA glFinish)

See comments in the code.

14 years agor300g: expose radeon_bo_wait to the driver
Marek Olšák [Sun, 16 May 2010 16:31:22 +0000 (18:31 +0200)]
r300g: expose radeon_bo_wait to the driver

14 years agor300g: remove unused winsys entrypoints
Marek Olšák [Sun, 16 May 2010 16:30:23 +0000 (18:30 +0200)]
r300g: remove unused winsys entrypoints

14 years agosw/wrapper: Implement dt_get_handle
Jakob Bornecrantz [Sun, 16 May 2010 01:41:52 +0000 (02:41 +0100)]
sw/wrapper: Implement dt_get_handle

14 years agosw/wrapper: Make sure targets are textures
Jakob Bornecrantz [Sun, 16 May 2010 01:41:29 +0000 (02:41 +0100)]
sw/wrapper: Make sure targets are textures

14 years agoi965g: Fix return for resource_get_handle
Jakob Bornecrantz [Sun, 16 May 2010 01:40:45 +0000 (02:40 +0100)]
i965g: Fix return for resource_get_handle

14 years agor300g/swtcl: put emitting max index to the right place
Marek Olšák [Sun, 16 May 2010 03:29:11 +0000 (05:29 +0200)]
r300g/swtcl: put emitting max index to the right place

This fixes CS rejections in openarena.

14 years agor300g/swtcl: flush draw to avoid the rejection of CS
Marek Olšák [Sun, 16 May 2010 02:09:07 +0000 (04:09 +0200)]
r300g/swtcl: flush draw to avoid the rejection of CS

14 years agor300g/swtcl: update PSC only once when a shader is changed
Marek Olšák [Sun, 16 May 2010 01:53:45 +0000 (03:53 +0200)]
r300g/swtcl: update PSC only once when a shader is changed

14 years agor300g/swtcl: call update_derived_state only once per draw-call
Marek Olšák [Sun, 16 May 2010 01:36:50 +0000 (03:36 +0200)]
r300g/swtcl: call update_derived_state only once per draw-call

14 years agost/xlib: Remove unnecessary header.
Vinson Lee [Sun, 16 May 2010 01:48:53 +0000 (18:48 -0700)]
st/xlib: Remove unnecessary header.

14 years agost/xorg: Remove unnecessary header.
Vinson Lee [Sun, 16 May 2010 01:44:58 +0000 (18:44 -0700)]
st/xorg: Remove unnecessary header.

14 years agomesa: Remove unnecessary header.
Vinson Lee [Sun, 16 May 2010 01:41:52 +0000 (18:41 -0700)]
mesa: Remove unnecessary header.

14 years agor300g: Move code after declarations.
Vinson Lee [Sun, 16 May 2010 00:44:08 +0000 (17:44 -0700)]
r300g: Move code after declarations.

Fixes SCons build.

14 years agor300g/swtcl: fix provoking vertex
Marek Olšák [Sat, 15 May 2010 22:35:51 +0000 (00:35 +0200)]
r300g/swtcl: fix provoking vertex

14 years agor300g/swtcl: fix point sprite texgen (do it in HW)
Marek Olšák [Sat, 15 May 2010 22:21:53 +0000 (00:21 +0200)]
r300g/swtcl: fix point sprite texgen (do it in HW)

14 years agor300g/swtcl: disable converting points/lines to triangles
Marek Olšák [Sat, 15 May 2010 22:06:21 +0000 (00:06 +0200)]
r300g/swtcl: disable converting points/lines to triangles

14 years agor300/compiler: silence a warning
Marek Olšák [Sat, 15 May 2010 21:53:04 +0000 (23:53 +0200)]
r300/compiler: silence a warning

14 years agor300g: fix psychedelic colors with SWTCL
Marek Olšák [Sat, 15 May 2010 20:55:17 +0000 (22:55 +0200)]
r300g: fix psychedelic colors with SWTCL

r300_vertex_shader::outputs was uninitialized.
Also remove the tokens parameter.

14 years agor300g: the vertex_stream_state atom for SWTCL should be static
Marek Olšák [Sat, 15 May 2010 20:25:25 +0000 (22:25 +0200)]
r300g: the vertex_stream_state atom for SWTCL should be static

plus whitespace and comment fixes.

14 years agor300g: remove unused struct r300_vertex_info
Marek Olšák [Sat, 15 May 2010 20:15:56 +0000 (22:15 +0200)]
r300g: remove unused struct r300_vertex_info

14 years agor300g: fix emission of some non-CSO atoms at the beginning of CS
Marek Olšák [Sat, 15 May 2010 19:22:23 +0000 (21:22 +0200)]
r300g: fix emission of some non-CSO atoms at the beginning of CS

14 years agor300g: remove unused r300_query::active
Marek Olšák [Sat, 15 May 2010 17:37:33 +0000 (19:37 +0200)]
r300g: remove unused r300_query::active

14 years agor300g: fix BO space accounting for occlusion queries
Marek Olšák [Sat, 15 May 2010 17:31:35 +0000 (19:31 +0200)]
r300g: fix BO space accounting for occlusion queries

14 years agor300g: forbid overlapping queries and print error messages
Marek Olšák [Sat, 15 May 2010 17:39:11 +0000 (19:39 +0200)]
r300g: forbid overlapping queries and print error messages

14 years agor300g: rename a few emit_query functions
Marek Olšák [Sat, 15 May 2010 17:38:28 +0000 (19:38 +0200)]
r300g: rename a few emit_query functions

14 years agor300g: silence warnings
Marek Olšák [Sat, 15 May 2010 17:21:17 +0000 (19:21 +0200)]
r300g: silence warnings

14 years agollvmpipe: Remove unnecessary headers.
Vinson Lee [Sat, 15 May 2010 15:38:00 +0000 (08:38 -0700)]
llvmpipe: Remove unnecessary headers.

14 years agoutil: Remove unused cruft.
José Fonseca [Sat, 15 May 2010 10:52:03 +0000 (11:52 +0100)]
util: Remove unused cruft.

14 years agollvmpipe: Use GALLIVM_DEBUG opt where applicable.
José Fonseca [Sat, 15 May 2010 10:48:39 +0000 (11:48 +0100)]
llvmpipe: Use GALLIVM_DEBUG opt where applicable.

14 years agodraw: Use GALLIVM_DEBUG opt.
José Fonseca [Sat, 15 May 2010 10:43:16 +0000 (11:43 +0100)]
draw: Use GALLIVM_DEBUG opt.

14 years agogallivm: Centralize some of the LLVM debugging options.
José Fonseca [Sat, 15 May 2010 10:42:02 +0000 (11:42 +0100)]
gallivm: Centralize some of the LLVM debugging options.

14 years agogallivm: Temporarily remove function call support
José Fonseca [Sat, 15 May 2010 10:31:10 +0000 (11:31 +0100)]
gallivm: Temporarily remove function call support

Commits moved to the gallivm-call feature branch for further
experimentation and stabilization.

14 years agogallivm: use our util_snprintf
Zack Rusin [Sat, 15 May 2010 05:24:00 +0000 (01:24 -0400)]
gallivm: use our util_snprintf

14 years agogallivm: implement function calls
Zack Rusin [Sat, 15 May 2010 04:39:59 +0000 (00:39 -0400)]
gallivm: implement function calls

14 years agovpglsl: add some simple tests with function calls
Zack Rusin [Sat, 15 May 2010 04:58:02 +0000 (00:58 -0400)]
vpglsl: add some simple tests with function calls

14 years agoi965: Set the correct provoking vertex for clipped first-mode trifans.
Eric Anholt [Fri, 14 May 2010 22:34:35 +0000 (15:34 -0700)]
i965: Set the correct provoking vertex for clipped first-mode trifans.

Bug #24470: glean clipFlat test.

14 years agogallivm: added some vector length sanity checks
Brian Paul [Fri, 14 May 2010 19:23:10 +0000 (13:23 -0600)]
gallivm: added some vector length sanity checks

14 years agogallivm: added lp_sizeof_llvm_type()
Brian Paul [Fri, 14 May 2010 19:22:45 +0000 (13:22 -0600)]
gallivm: added lp_sizeof_llvm_type()

14 years agogallivm: comments, const qualifiers
Brian Paul [Fri, 14 May 2010 17:09:29 +0000 (11:09 -0600)]
gallivm: comments, const qualifiers

14 years agotgsi: clean up in emit_fetch()
Brian Paul [Thu, 13 May 2010 22:54:25 +0000 (16:54 -0600)]
tgsi: clean up in emit_fetch()

14 years agomesa: more info in glUniform error messages
Brian Paul [Thu, 13 May 2010 22:52:06 +0000 (16:52 -0600)]
mesa: more info in glUniform error messages

14 years agomesa: silence void * / func * conversion warnings
Brian Paul [Thu, 13 May 2010 22:38:58 +0000 (16:38 -0600)]
mesa: silence void * / func * conversion warnings

14 years agotgsi: add a dummy function to silence warning
Brian Paul [Thu, 13 May 2010 22:37:22 +0000 (16:37 -0600)]
tgsi: add a dummy function to silence warning

14 years agomesa: enum bitfields are a gcc-only feature, use GLubyte
Brian Paul [Thu, 13 May 2010 22:37:02 +0000 (16:37 -0600)]
mesa: enum bitfields are a gcc-only feature, use GLubyte

14 years agoegl: Implement EGL_NOK_texture_from_pixmap
Kristian Høgsberg [Fri, 7 May 2010 02:40:25 +0000 (22:40 -0400)]
egl: Implement EGL_NOK_texture_from_pixmap

This extension allows a color buffer to be used for both rendering and
texturing.  EGL allows the use of color buffers of pbuffer drawables
for texturing, this extension extends this to allow the use of color
buffers of pixmaps too.

14 years agoegl: Only allow valid config attributes in _eglParseConfigAttribList()
Kristian Høgsberg [Fri, 14 May 2010 16:07:38 +0000 (12:07 -0400)]
egl: Only allow valid config attributes in _eglParseConfigAttribList()

Passing 0x3030, 0 in the chooser list didn't get caught.

14 years agoi965: Add program dumping for INTEL_DEBUG=gs.
Eric Anholt [Fri, 14 May 2010 17:04:41 +0000 (10:04 -0700)]
i965: Add program dumping for INTEL_DEBUG=gs.

14 years agoi965: Parse the ff_sync URB send opcode on Ironlake disasm.
Eric Anholt [Fri, 14 May 2010 06:01:17 +0000 (23:01 -0700)]
i965: Parse the ff_sync URB send opcode on Ironlake disasm.

14 years agoi965: Use R16G16B16A16_FLOAT for 3-component half-float.
Eric Anholt [Fri, 14 May 2010 05:10:39 +0000 (22:10 -0700)]
i965: Use R16G16B16A16_FLOAT for 3-component half-float.

The RGBX version isn't supported as a vertex input type, but since we
force the last channel's value anyway, this should be fine.  The only
potential risk I see is in the limiter on VBO reads past the end of
the buffer forcing the whole vertex to 0 when the A channel lands past
the end.

Fixes piglit draw-vertices-half-float.

14 years agoi965: Dump out the correct shared function for SEND on Ironlake.
Eric Anholt [Fri, 14 May 2010 00:24:36 +0000 (17:24 -0700)]
i965: Dump out the correct shared function for SEND on Ironlake.

14 years agoi965: Support INTEL_DEBUG=clip to dump the clip program.
Eric Anholt [Fri, 14 May 2010 00:14:21 +0000 (17:14 -0700)]
i965: Support INTEL_DEBUG=clip to dump the clip program.

14 years agointel: Handle arbitrary compressed formats in intel_compressed_num_bytes.
Eric Anholt [Thu, 13 May 2010 21:48:13 +0000 (14:48 -0700)]
intel: Handle arbitrary compressed formats in intel_compressed_num_bytes.

Note that we don't support arbitrary block size for compressed quite
yet -- block height of 4 is hard-coded all over the place.

Bug #27098 (srgb dxt1 producing a bytes per pixel of 0).

14 years agogallium: remove forward declarations of non-existent objects
Marek Olšák [Fri, 14 May 2010 13:07:06 +0000 (15:07 +0200)]
gallium: remove forward declarations of non-existent objects

14 years agor300g: do not abort if a constant buffer is too large
Marek Olšák [Fri, 14 May 2010 16:33:14 +0000 (18:33 +0200)]
r300g: do not abort if a constant buffer is too large

What else can we do with misbehaving apps?

14 years agor300g: add framebuffer state debug logging
Marek Olšák [Fri, 14 May 2010 13:08:29 +0000 (15:08 +0200)]
r300g: add framebuffer state debug logging

14 years agor300g: sort out debug flags
Marek Olšák [Fri, 14 May 2010 01:25:26 +0000 (03:25 +0200)]
r300g: sort out debug flags

14 years agoegl: remove duplicate ARRAY_SIZE() macro declaration
Brian Paul [Fri, 14 May 2010 16:54:59 +0000 (10:54 -0600)]
egl: remove duplicate ARRAY_SIZE() macro declaration

14 years agoglxinfo: add queries and reporting for float and sRGB buffer types
Brian Paul [Fri, 14 May 2010 16:06:21 +0000 (10:06 -0600)]
glxinfo: add queries and reporting for float and sRGB buffer types

Check for the GLX_ARB_fbconfig_float and GLX_NV_float_buffer extensions
to determine if color bufs are floating point.

Check for the GLX_EXT_framebuffer_sRGB extension to determine if the
framebuffer is sRGB capable.

Increase field size for some attribs (visual ID and buffer size) to
accomodate today's larger values.

Also print missing caveats info in verbose mode.

14 years agonouveau/nvfx: Define some capabilities for shaders
Patrice Mandin [Fri, 14 May 2010 16:53:05 +0000 (18:53 +0200)]
nouveau/nvfx: Define some capabilities for shaders

Signed-off-by: Patrice Mandin <patmandin@gmail.com>
14 years agoegl: Silence uninitialized variable warnings.
Vinson Lee [Fri, 14 May 2010 15:58:23 +0000 (08:58 -0700)]
egl: Silence uninitialized variable warnings.

14 years agomesa: print enum name instead of hexadecimal value in glGet errors
Brian Paul [Fri, 14 May 2010 14:25:25 +0000 (08:25 -0600)]
mesa: print enum name instead of hexadecimal value in glGet errors

14 years agomesa: another transform feedback error check, 80-col wrapping
Brian Paul [Fri, 14 May 2010 14:03:42 +0000 (08:03 -0600)]
mesa: another transform feedback error check, 80-col wrapping

14 years agomesa: fpclassify dummy definition is not needed on FreeBSD.
Alex Kozlov [Fri, 14 May 2010 13:16:14 +0000 (06:16 -0700)]
mesa: fpclassify dummy definition is not needed on FreeBSD.

14 years agoutil: fix copy_rect stride in default transfer_inline_write
Keith Whitwell [Sat, 8 May 2010 13:16:46 +0000 (14:16 +0100)]
util: fix copy_rect stride in default transfer_inline_write

14 years agoegl: Implement EGL_NOK_swap_region
Kristian Høgsberg [Fri, 7 May 2010 02:01:35 +0000 (22:01 -0400)]
egl: Implement EGL_NOK_swap_region

This extension adds a new function which provides an alternative to
eglSwapBuffers. eglSwapBuffersRegionNOK accepts two new parameters in
addition to those in eglSwapBuffers. The new parameters consist of a
pointer to a list of 4-integer blocks defining rectangles (x, y,
width, height) and an integer specifying the number of rectangles in
the list.

14 years agor300g: fix for piglit/fp-indirections2
Marek Olšák [Thu, 13 May 2010 22:20:58 +0000 (00:20 +0200)]
r300g: fix for piglit/fp-indirections2

14 years agortasm: fix void * / func * casting warnings
Brian Paul [Thu, 13 May 2010 19:41:49 +0000 (13:41 -0600)]
rtasm: fix void * / func * casting warnings

14 years agodraw: silence casting warnings
Brian Paul [Thu, 13 May 2010 19:35:17 +0000 (13:35 -0600)]
draw: silence casting warnings

14 years agogallivm: silence uninitialized var warning
Brian Paul [Thu, 13 May 2010 19:34:24 +0000 (13:34 -0600)]
gallivm: silence uninitialized var warning

14 years agollvmpipe: silence casting warnings
Brian Paul [Thu, 13 May 2010 19:26:21 +0000 (13:26 -0600)]
llvmpipe: silence casting warnings

14 years agogallivm: silence casting warning
Brian Paul [Thu, 13 May 2010 19:25:29 +0000 (13:25 -0600)]
gallivm: silence casting warning

14 years agogallivm: silence uninitialized var warning
Brian Paul [Thu, 13 May 2010 19:24:21 +0000 (13:24 -0600)]
gallivm: silence uninitialized var warning

14 years agollvmpipe: silence uninitialized var warnings
Brian Paul [Thu, 13 May 2010 19:21:37 +0000 (13:21 -0600)]
llvmpipe: silence uninitialized var warnings

14 years agollvmpipe: silence cast warnings in test programs
Brian Paul [Thu, 13 May 2010 19:21:19 +0000 (13:21 -0600)]
llvmpipe: silence cast warnings in test programs

14 years agogallivm: added lp_dump_llvmtype() debug helper
Brian Paul [Thu, 13 May 2010 16:24:10 +0000 (10:24 -0600)]
gallivm: added lp_dump_llvmtype() debug helper

14 years agollvmpipe: additional comments
Brian Paul [Thu, 13 May 2010 15:26:17 +0000 (09:26 -0600)]
llvmpipe: additional comments

14 years agogallivm: rename a var
Brian Paul [Wed, 12 May 2010 21:32:04 +0000 (15:32 -0600)]
gallivm: rename a var

14 years agoegl: Allow a prioritized list of default drivers
Kristian Høgsberg [Thu, 13 May 2010 20:06:29 +0000 (16:06 -0400)]
egl: Allow a prioritized list of default drivers

When there is no user driver or any matching display drivers we fall
back to the default driver.  This patch lets us have a list of default
drivers instead of just one.  The drivers are loaded in turn and we
attempt to initialize the display.  If it fails we unload the driver
and move on to the next one.

Compared to the display driver mechanism, this avoids loading a number
of drivers and then only using one.  Also, we call Initialize to see
if the driver will work instead of relying on Probe.  To know for sure
that a driver will work, Probe really have to do a full Initialize, so
we will just use Initialize directly.

14 years agoegl_dri2: Downgrade initialization errors to warnings
Kristian Høgsberg [Thu, 13 May 2010 19:42:51 +0000 (15:42 -0400)]
egl_dri2: Downgrade initialization errors to warnings

Don't want to shutdown everything if egl_dri2 fails to initialize.

14 years agoutil: Fix ptr -> int conversion.
José Fonseca [Thu, 13 May 2010 20:14:07 +0000 (21:14 +0100)]
util: Fix ptr -> int conversion.

14 years agoConditionally revert "gallivm: Use a more compact approach for lp_build_broadcast_sca...
José Fonseca [Thu, 13 May 2010 20:03:08 +0000 (21:03 +0100)]
Conditionally revert "gallivm: Use a more compact approach for lp_build_broadcast_scalar()."

This reverts commit a09e46c72461183c879d8472b44fe740ecc79b9f.

14 years agoi965: Reduce a single GL_QUADS to GL_TRIANGLE_FAN.
Eric Anholt [Thu, 13 May 2010 18:31:56 +0000 (11:31 -0700)]
i965: Reduce a single GL_QUADS to GL_TRIANGLE_FAN.

This is similar to the GL_QUAD_STRIP -> TRIANGLE_STRIP optimization --
the GS usage to split the quads into tris is a huge bottleneck, so a
quick check improves glean blendFunc time massively (width * height of
the window of single-pixel GL_QUADS, many many times).  This may also
end up helping with cairo performance, which sometimes ends up drawing
a single quad.

14 years agointel: Don't update window system renderbuffers on TexImage.
Eric Anholt [Thu, 13 May 2010 17:13:52 +0000 (10:13 -0700)]
intel: Don't update window system renderbuffers on TexImage.

While sometimes rendering occurs in the form of blits for TexImage, it
doesn't interact with the window system renderbuffers, so skip it.

14 years agomesa: Remove no-op wrappers around trig functions.
Eric Anholt [Wed, 5 May 2010 15:36:20 +0000 (08:36 -0700)]
mesa: Remove no-op wrappers around trig functions.

14 years agomesa: Remove _mesa_pow(), which is always just pow().
Eric Anholt [Wed, 5 May 2010 15:29:13 +0000 (08:29 -0700)]
mesa: Remove _mesa_pow(), which is always just pow().

14 years agor300g: fix texture transfers
Marek Olšák [Thu, 13 May 2010 18:32:08 +0000 (20:32 +0200)]
r300g: fix texture transfers

The regression has first shown up after this state tracker change:
b0427bedde80e3189524651a327235bdfddbc613.

FDO bug #28082.

14 years agomesa: silence compiler warning
Alan Hourihane [Thu, 13 May 2010 17:49:02 +0000 (18:49 +0100)]
mesa: silence compiler warning

14 years agollvmpipe: Update instructions for MSVC builds.
José Fonseca [Thu, 13 May 2010 15:18:05 +0000 (16:18 +0100)]
llvmpipe: Update instructions for MSVC builds.

14 years agoegl: Drop broken _EGL_PLATFORM_NO_OS code
Kristian Høgsberg [Thu, 13 May 2010 12:59:47 +0000 (08:59 -0400)]
egl: Drop broken _EGL_PLATFORM_NO_OS code

It would do strlen(library_suffix()) in _eglLoaderFile(), with
library_suffix() returning NULL.  So obviuosly not used or tested.

14 years agoegl: Don't try to load driver basename if the platform needs a suffix
Kristian Høgsberg [Thu, 13 May 2010 12:27:37 +0000 (08:27 -0400)]
egl: Don't try to load driver basename if the platform needs a suffix

That is, don't dlopen(egl_glx) when we know we need to append .so.

14 years agotrace: Add missing header.
Vinson Lee [Thu, 13 May 2010 08:47:31 +0000 (01:47 -0700)]
trace: Add missing header.

Fixes GCC implicit function declaration warning.