Commit Graph

42329 Commits

Author SHA1 Message Date
Benjamin Franzke 464cb3a09e st/egl: native_helper: Add resource_surface_import_resource 2011-02-07 13:55:29 +01:00
Benjamin Franzke 214fc6e850 egl: Implement libwayland-egl
This library is required and defined by wayland for
EGL implementations supporting wayland.
2011-02-07 13:55:20 +01:00
Benjamin Franzke e586c4b763 egl: Add wayland platform 2011-02-07 13:52:29 +01:00
Benjamin Franzke 2adfde3aae intel: Implement dri2::{Allocate,Release}Buffer 2011-02-07 13:52:28 +01:00
Benjamin Franzke f8e939a3a7 st/dri: Implement dri2::{Allocate,Release}Buffer 2011-02-07 13:52:28 +01:00
Benjamin Franzke 1b8ef9416b Add dri2::{Allocate,Release}Buffer extension 2011-02-07 13:52:28 +01:00
Marek Olšák a22bda9f80 r600g: correctly report supported vertex formats 2011-02-07 03:51:53 +01:00
Marek Olšák c95bc1224a r300g: use the new vertex buffer manager 2011-02-07 02:46:23 +01:00
Marek Olšák aa8a2224a3 r600g: use the new vertex buffer manager 2011-02-07 02:46:17 +01:00
Marek Olšák 975320ab76 util: import a new vertex buffer manager
This code has originally matured in r300g and was ported to r600g several
times. It was obvious it's a code duplication.

See also comments in the header file.
2011-02-07 02:23:46 +01:00
Marek Olšák 1c2a4f0820 r600g: do not flush the uploader 2011-02-06 21:13:58 +01:00
Marek Olšák 529d867207 r300g: do not flush the uploader
We don't have to unmap and recreate the upload buffer when a flush occurs.
This should also prevent buffer allocations from failing.
2011-02-06 21:12:51 +01:00
Marek Olšák ec96b0ecdb configure.ac: correctly check for libdrm_radeon version 2011-02-06 15:47:00 +01:00
Marek Olšák 4ad3b27cee r300g: RS400 doesn't have ZMASK 2011-02-06 15:46:51 +01:00
Dave Airlie 780c183b8f r600g: use surface format not underlying texture format
This uses the surface format to set the CB up not the underlying texture
format, since these can and do differ.

Fixes piglit fbo-srgb.
2011-02-06 19:00:04 +10:00
Tom Stellard 68b701f5de r300/compiler: Disable register rename pass on r500
The scheduler and the register allocator are not good enough yet to deal
with the effects of the register rename pass.  This was causing a 50%
performance drop in Lightsmark.  The pass can be re-enabled once the
scheduler and the register allocator are more mature.  r300 and r400
still need this pass, because it prevents a lot of shaders from using
too many texture indirections.

NOTE: This is a candidate for the 7.10 branch.
2011-02-05 22:39:58 -08:00
Tom Stellard 19202284c0 r300/compiler: Don't count BEGIN_TEX instructions in the compiler stats 2011-02-05 00:27:24 -08:00
Dave Airlie 88ffa9ce5b mesa/965: add support for GL_EXT_framebuffer_sRGB (v2)
This adds i965 support for GL_EXT_framebuffer_sRGB, it introduces a new
constant to say that the driver can support sRGB enabled FBOs since enabling
the extension doesn't mean the driver can actually support sRGB.

Also adds the suggested state flush in the core code suggested by Brian.

fix the ARB_fbo color encoding.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-05 17:06:30 +10:00
Ian Romanick 5c3f1cdbbe mesa: Fix error checks in GetVertexAttrib functions
Querying index zero is not an error in OpenGL ES 2.0.

Querying an index larger than the value returned by
GL_MAX_VERTEX_ATTRIBS is an error in all APIs.

Fixes bugzilla #32375.
2011-02-04 12:10:05 -08:00
Ian Romanick ce9171f9d8 linker: Generate link errors when ES shaders are missing stages
ES requires that a vertex shader and a fragment shader be present.

Fixes bugzilla #32214.
2011-02-04 12:10:04 -08:00
Vinson Lee 425ba19832 glsl: Add opt_copy_propagation_elements.cpp to SConscript.
Fixes SCons build.
2011-02-04 11:47:01 -08:00
Eric Anholt 1b80622c4e i965: Drop the dead tracking of color_regions[].
We pull the draw regions right out of the renderbuffers these days.
2011-02-04 12:18:38 -06:00
Eric Anholt 95cdce7f70 i965: Drop the INTEL_DEBUG=state spam about the cache size check.
There's way more interesting info in INTEL_DEBUG=state if you could find
it among the state size checks.
2011-02-04 12:18:38 -06:00
Eric Anholt 29a2e9133e glsl: Remove extra checks for constant true assignment conditions.
These are already stripped by opt_constant_folding.cpp.
2011-02-04 12:18:38 -06:00
Eric Anholt b6d49ab843 glsl: Fix a comment typo in copy propagation. 2011-02-04 12:18:38 -06:00
Eric Anholt e31266ed3e glsl: Add a new opt_copy_propagation variant that does it channel-wise.
This patch cleans up many of the extra copies in GLSL IR introduced by
i965's scalarizing passes.  It doesn't result in a statistically
significant performance difference on nexuiz high settings (n=3) or my
demo (n=10), due to brw_fs.cpp's register coalescing covering most of
those extra moves anyway.  However, it does make the debug of wine's
GLSL shaders much more tractable, and reduces instruction count of
glsl-fs-convolution-2 from 376 to 288.
2011-02-04 12:18:38 -06:00
Vinson Lee cde443e0b9 ralloc: Add missing va_end following va_copy. 2011-02-03 22:10:16 -08:00
Dave Airlie 3188a7deb3 r600g: don't set tile_type on evergreen.
Since we never bind the actual DB to the CB/texture only the flushed one
we don't need to track the tile type at the moment.
2011-02-04 15:26:41 +10:00
Dave Airlie fdd35dc912 r600g: fix evergreen sampler view + depth interaction 2011-02-04 15:26:09 +10:00
Vinson Lee 9ee765197c util: Change u_get_transfer_vtbl usage argument type to match prototype.
The type of u_get_transfer_vtbl of the usage argument in u_transfer.h is
unsigned and not enum pipe_transfer_usage. This patch changes the type
of usage to unsigned to match the prototype in the header file.
2011-02-03 20:15:25 -08:00
Vinson Lee 61c59234f9 glsl: Add using statements for standard library functions.
Standard library functions in C++ are in the std namespace. When using
C++-style header files for the standard library, some compilers, such as
Sun Studio, provide symbols only for the std namespace and not for the
global namespace.

This patch adds using statements for standard library functions. Another
option could have been to prepend standard library function calls with
'std::'.

This patch fixes several compilation errors with Sun Studio.
2011-02-03 19:19:12 -08:00
Dave Airlie 151a945d38 r600g: get offset for correct texture when setting up CB.
this fixes the mipmap tests with tiling forced on.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-04 09:38:01 +10:00
Dave Airlie 812c314e51 r600g: avoid trying to flush the flushing texture.
Since these textures still have the depth bit set.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-04 09:36:02 +10:00
Dave Airlie 8c643446f9 r600g: evergreen CB check for flushed texture 2011-02-04 09:34:32 +10:00
Dave Airlie 2271c793e8 r600g: flushing texture needs all levels.
For mipmap generation we need all levels in the flushing texture.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-04 09:09:45 +10:00
Dave Airlie cd6864c079 r600g: remove unused variables 2011-02-04 09:09:45 +10:00
Dave Airlie 3e9bc43fba r600g: add a flag to just create flushed texture without flushing.
This just adds a flag to create the texture without doing any
flushing to it. Flushing occurs in the draw function. This avoids
unnecessary flushes when we end up rebinding a CB/DB/texture due
to the blitter just restoring state.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-04 09:09:45 +10:00
Dave Airlie 446bc12c17 r600g: also check CB bindings for textures to depth flush.
This checks the color buffer bindings to make sure there is something
to flush.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-04 09:09:44 +10:00
Dave Airlie 4b49fcbb9a r600g: flush depth texture before a blit from it.
If we are going to blit from a depth texture we need to flush
it before we blit from it.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-04 09:09:44 +10:00
Brian Paul 5026841d5e svga: rename a couple sampler, sampler view functions 2011-02-03 14:22:21 -07:00
Brian Paul e40252d4d9 gallium/svga: added debug code for dumping framebuffer images (disabled) 2011-02-03 14:22:21 -07:00
Brian Paul 73e37d933d gallium/docs: more info about setting samplers and sampler views
Plus other assorted clarifications.
2011-02-03 13:47:12 -07:00
Brian Paul c5fb2c60bf cso: don't tell drivers to bind null samplers, sampler views
Before, the set_sampler_views() and restore_sampler_views() functions
used MAX2(old,new) to tell the driver how many samplers or sampler
views to set.  This could result in cases such as:

pipe->set_fragment_sampler_views(pipe, 4, views={foo, bar, NULL, NULL})

Many/most gallium drivers would take this as-is and set
ctx->num_sampler_views=4 and ctx->sampler_views={foo, bar, NULL, NULL, ...}.
Later, loops over ctx->num_sampler_views would have to check for null
pointers.  Worse, the number of sampler views and number of sampler CSOs
could get out of sync:

ctx->num_samplers = 2
ctx->samplers = {foo, bar, ...}
ctx->num_sampler_views = 4
ctx->sampler_views={Foo, Bar, NULL, NULL, ...}

So loops over the num_samplers could run into null sampler_views pointers
or vice versa.

This fixes a failed assertion in the SVGA driver when running the Mesa
engine demo in AA line mode (and possibly other cases).

It looks like all gallium drivers are careful to unreference views
and null-out sampler CSO pointers for the units beyond what's set
with the pipe::bind_x_sampler_states() and pipe::set_x_sampler_views()
functions.

I'll update the gallium docs to explain this as well.
2011-02-03 13:47:11 -07:00
Henri Verbeet a6a710cbe7 r600g: Make some more things static. 2011-02-03 21:13:12 +01:00
Henri Verbeet d06b990096 r600g: Get rid of the unused r600_cf_vtx_tc() function. 2011-02-03 21:13:12 +01:00
Henri Verbeet d17d03a8dc r300g: Make the buffer and texture vbtls static const. 2011-02-03 21:13:12 +01:00
Henri Verbeet 126e98966d r600g: Make the buffer and texture vbtls static const. 2011-02-03 21:13:12 +01:00
Alex Deucher 4668ad36f3 egl_dri2: Add new radeon pci ids
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-02-03 14:35:54 -05:00
Kristian Høgsberg 9dc5de5bb1 egl_dri2: Split out drm platform implementation to a separate file 2011-02-03 11:59:38 -05:00
Kristian Høgsberg 2889d9640f egl_dri2: Split out x11 platform code 2011-02-03 11:59:38 -05:00