OSDN Git Service
Ian Romanick [Wed, 18 Jul 2012 16:38:34 +0000 (09:38 -0700)]
egl: Replace KHR_surfaceless_* extensions with KHR_surfaceless_context
KHR extension name is reserved for Khronos ratified extensions, and there is
no such thing as EGL_KHR_surfaceless_{gles1,gles2,opengl}. Replace these
three extensions with EGL_KHR_surfaceless_context since that extension
actually exists.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Ian Romanick [Wed, 18 Jul 2012 21:37:28 +0000 (14:37 -0700)]
egl_dri2: Refactor dereference of dri2_ctx_shared
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Ian Romanick [Wed, 18 Jul 2012 17:08:49 +0000 (10:08 -0700)]
egl_dri2: Remove swrast version >= 2 checks
Since support for swrast version 2 was added (
f55d027a), it has also been
required. In swrast_driver_extensions, version 2 is set for __DRI_SWRAST
extension. Remove the spurious version checks sprinked through the code.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Cc: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Ian Romanick [Wed, 18 Jul 2012 21:26:24 +0000 (14:26 -0700)]
dri2: Fix bug in attribute handling for non-desktop OpenGL contexts
Previously an error would be generated if any attributes were specified when
creating a non-desktop OpenGL context. This was a mistake, and it will
prevent old drivers from working with new EGL libraries that add support for
the createContextAttribs interface. Instead, match the behavior of
EGL_KHR_create_context: allow versions that make sense, reject non-zero flags.
NOTE: This is a candidate for the 8.0 branch.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Cc: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Andreas Boll [Mon, 6 Aug 2012 19:38:28 +0000 (21:38 +0200)]
docs: update piglit url
Signed-off-by: Brian Paul <brianp@vmware.com>
Andreas Boll [Mon, 6 Aug 2012 19:38:27 +0000 (21:38 +0200)]
docs/helpwanted: add r600g and i915g todo lists
Signed-off-by: Brian Paul <brianp@vmware.com>
Kenneth Graunke [Sun, 5 Aug 2012 09:30:38 +0000 (02:30 -0700)]
i965: Allocate dummy slots for point sprites before computing VUE map.
Commit
f0cecd43d6b6d moved the VUE map computation to be only once, at
VS compile time. However, it did so in slightly the wrong place: it
made the one call to brw_vue_compute_map happen right before the
allocation of dummy slots for replaced point sprite coordinates, causing
a different VUE map to be generated (at least on Ironlake).
Fixes a regression in Piglit's point-sprite test on Ironlake.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46489
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Kenneth Graunke [Sun, 5 Aug 2012 04:28:23 +0000 (21:28 -0700)]
i965/vs: Don't clobber sampler message MRFs with subexpressions.
See the preceding commit for a description of the problem.
NOTE: This is a candidate for stable release branches.
v2: Use a separate dPdx variable rather than reusing the lod src_reg.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52129
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Kenneth Graunke [Sun, 5 Aug 2012 03:55:21 +0000 (20:55 -0700)]
i965/fs: Don't clobber sampler message MRFs with subexpressions.
Consider a texture call such as:
textureLod(s, coordinate, log2(...))
First, we begin setting up the sampler message by loading the texture
coordinates into MRFs, starting with m2. Then, we realize we need the
LOD, and go to compute it with:
ir->lod_info.lod->accept(this);
On Gen4-5, this will generate a SEND instruction to compute log2(),
loading the operand into m2, and clobbering our texcoord.
Similar issues exist on Gen6+. For example, nested texture calls:
textureLod(s1, c1, texture(s2, c2).x)
Any texturing call where evaluating the subexpression trees for LOD or
shadow comparitor would generate SEND instructions could potentially
break. In some cases (like register spilling), we get lucky and avoid
the issue by using non-overlapping MRF regions. But we shouldn't count
on that.
Fixes four Piglit test regressions on Gen4-5:
- glsl-fs-shadow2DGradARB-{01,04,07,cumulative}
NOTE: This is a candidate for stable release branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52129
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Kenneth Graunke [Sun, 5 Aug 2012 03:40:42 +0000 (20:40 -0700)]
i965/fs: Factor out texcoord setup into a helper function.
With the textureRect support and GL_CLAMP workarounds, it's grown
sufficiently that it deserves its own function. Separating it out
makes the original function much more readable.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Kenneth Graunke [Sun, 5 Aug 2012 03:33:13 +0000 (20:33 -0700)]
i965/fs: Move message header and texture offset setup to generate_tex().
Setting the texture offset bits in the message header involves very
specific hardware register descriptions. As such, I feel it's better
suited for the lower level "generate" layer that has direct access to
the weird register layouts, rather than at the fs_inst abstraction layer.
This also parallels the approach I took in the VS backend.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Jerome Glisse [Wed, 1 Aug 2012 19:53:11 +0000 (15:53 -0400)]
r600g: atomize sampler state v2
Use atom for sampler state. Does not provide new functionality
or fix any bug. Just a step toward full atom base r600g.
v2: Split seamless on r6xx/r7xx into it's own atom. Make sure it's
emited after sampler and with a pipeline flush before otherwise
it does not take effect.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Alex Deucher [Mon, 6 Aug 2012 14:54:31 +0000 (10:54 -0400)]
radeonsi: add some new pci ids
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Alex Deucher [Mon, 6 Aug 2012 14:49:47 +0000 (10:49 -0400)]
r600g: add additional evergreen pci ids
Note: this is a candidate for the stable branches.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Brian Paul [Mon, 6 Aug 2012 14:35:20 +0000 (08:35 -0600)]
st/mesa: merge fragment/vertex sampler update code
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Mon, 6 Aug 2012 14:35:20 +0000 (08:35 -0600)]
st/mesa: massage update_vertex_samplers() code
...to look like update_fragment_samplers() code, as with the previous
commit. The next step would be to merge the two functions.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Mon, 6 Aug 2012 14:35:20 +0000 (08:35 -0600)]
st/mesa: merge fragment/vertex texture update code
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Mon, 6 Aug 2012 14:35:20 +0000 (08:35 -0600)]
st/mesa: massage the update_vertex_textures() code
...to look like update_fragment_textures() code. The next step would
be to merge the two functions.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Mon, 6 Aug 2012 14:35:20 +0000 (08:35 -0600)]
st/mesa: rename some vertex/fragment state fields for better consistency
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Sat, 4 Aug 2012 14:46:42 +0000 (08:46 -0600)]
llvmpipe: consolidate the sampler and sampler view setting code
Less code. And as with softpipe, if/when we consolidate the pipe_context
functions for binding sampler state, this will make the llvmpipe changes
trivial.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Sat, 4 Aug 2012 14:46:42 +0000 (08:46 -0600)]
llvmpipe: combine vertex/fragment sampler state into an array
This will allow code consolidation in the next patch.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Sat, 4 Aug 2012 14:46:41 +0000 (08:46 -0600)]
softpipe: consolidate vert/frag/geom sampler setting functions
The functions for setting samplers and sampler views for vertex,
fragment and geometry shaders were nearly identical. Now they
use shared code.
In the future, if the pipe_context functions for setting samplers
and sampler views for vert/frag/geom/compute are combined, this
will make updating the softpipe driver a snap.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Sat, 4 Aug 2012 14:46:41 +0000 (08:46 -0600)]
softpipe: consolidate sampler-related arrays
Combine separate arrays for vertex/fragment/geometry samplers, etc into
one array indexed by PIPE_SHADER_x.
This allows us to collapse separate code for vertex/fragment/geometry
state into loops over the shader stage. More to come.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Sat, 4 Aug 2012 14:46:41 +0000 (08:46 -0600)]
softpipe: combine vert/frag/geom texture caches in an array
This lets us consolidate some code now, and more in subsequent patches.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Vinson Lee [Sat, 4 Aug 2012 06:51:34 +0000 (23:51 -0700)]
mesa: Fix off-by-one error in Parse_TextureImageId.
Fixes out-of-bounds write defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Vinson Lee [Sat, 4 Aug 2012 06:38:29 +0000 (23:38 -0700)]
util: Move dereference after null check in util_resource_copy_region.
Fixes dereference before null check defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Brian Paul [Sat, 4 Aug 2012 14:30:15 +0000 (08:30 -0600)]
i915g: silence a const pointer warning
Marek Olšák [Sat, 4 Aug 2012 14:34:24 +0000 (16:34 +0200)]
radeonsi: fix build failure after blitter changes
Marek Olšák [Wed, 1 Aug 2012 23:43:01 +0000 (01:43 +0200)]
r600g: precompute color buffer state in pipe_surface and reuse it
Marek Olšák [Wed, 1 Aug 2012 23:43:01 +0000 (01:43 +0200)]
r600g: precompute depth buffer state in pipe_surface and reuse it
This is done on-demand, because we don't know in advance if a zbuffer
will be bound as depth or color.
Marek Olšák [Wed, 1 Aug 2012 15:04:29 +0000 (17:04 +0200)]
r600g: simplify create_surface
Marek Olšák [Sun, 29 Jul 2012 16:53:19 +0000 (18:53 +0200)]
r600g: drop the old texture allocation code
Made obsolete by the libdrm surface allocator.
Marek Olšák [Fri, 27 Jul 2012 22:38:42 +0000 (00:38 +0200)]
r600g: make sure copying of all texture formats is accelerated
Marek Olšák [Fri, 27 Jul 2012 23:19:18 +0000 (01:19 +0200)]
gallium/u_blitter: add a query for checking whether copying is supported
v2: add comments
Marek Olšák [Sat, 28 Jul 2012 11:55:59 +0000 (13:55 +0200)]
r600g: don't decompress depth or stencil if there isn't any
Marek Olšák [Sun, 29 Jul 2012 15:10:00 +0000 (17:10 +0200)]
r600g: correct texture memory size for Z32F_S8X24 on evergreen
Marek Olšák [Fri, 27 Jul 2012 20:45:52 +0000 (22:45 +0200)]
gallium/u_blitter: remove fallback for stencil copy that all drivers skipped
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Fri, 27 Jul 2012 19:44:17 +0000 (21:44 +0200)]
gallium/u_blitter: add ability to blit only depth or only stencil
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Fri, 27 Jul 2012 19:31:59 +0000 (21:31 +0200)]
gallium: define PIPE_MASK_RGBAZS
I need this and it seems like it could be useful.
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Fri, 27 Jul 2012 19:27:14 +0000 (21:27 +0200)]
gallium/u_blitter: minor cleanup
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Fri, 27 Jul 2012 17:09:14 +0000 (19:09 +0200)]
gallium/tgsi: fixup texture name strings
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Sun, 22 Jul 2012 18:27:04 +0000 (20:27 +0200)]
gallium/u_blitter: set sample mask to ~0
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Tue, 24 Jul 2012 14:11:04 +0000 (16:11 +0200)]
gallium/u_blit: bail out if src is a multisample texture
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Tue, 24 Jul 2012 14:10:45 +0000 (16:10 +0200)]
gallium/u_blit: check nr_samples before using resource_copy_region
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Tue, 24 Jul 2012 09:17:29 +0000 (11:17 +0200)]
gallium: set sample mask to ~0 for clear, blit and gen_mipmap
The sample mask affects single-sampled rendering too (it's orthogonal
to the color mask).
Reviewed-by: Brian Paul <brianp@vmware.com>
Dave Airlie [Sat, 4 Aug 2012 11:39:30 +0000 (13:39 +0200)]
r600g: fix F2U opcode translation
Signed-off-by: Marek Olšák <maraeo@gmail.com>
Vinson Lee [Fri, 3 Aug 2012 05:38:24 +0000 (22:38 -0700)]
draw: Ensure channel in convert_to_soa is initialized.
Fixes uninitialized pointer read defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Vinson Lee [Fri, 3 Aug 2012 06:28:10 +0000 (23:28 -0700)]
u_blitter: Move a pointer dereference after null check.
Fixes dereference before null check defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Matt Turner [Wed, 1 Aug 2012 21:48:47 +0000 (14:48 -0700)]
Use C99 NAN and INFINITY macros
Brian Paul [Fri, 3 Aug 2012 17:58:43 +0000 (11:58 -0600)]
gallium/tests/trivial: updates for CSO interface changes
Brian Paul [Fri, 3 Aug 2012 17:56:36 +0000 (11:56 -0600)]
st/xorg: updates for CSO interface changes
Brian Paul [Fri, 3 Aug 2012 17:56:28 +0000 (11:56 -0600)]
st/xa: updates for CSO interface changes
Brian Paul [Fri, 3 Aug 2012 14:33:08 +0000 (08:33 -0600)]
vega: fix build breakage from cso sampler/view changes
Brian Paul [Thu, 2 Aug 2012 22:30:10 +0000 (16:30 -0600)]
cso: remove unreachable break statements
Brian Paul [Thu, 2 Aug 2012 22:29:13 +0000 (16:29 -0600)]
cso: 80-column wrapping, remove trailing whitespace, etc
Brian Paul [Thu, 2 Aug 2012 19:02:40 +0000 (13:02 -0600)]
gallium: consolidate CSO sampler and sampler_view functions
Merge the vertex/fragment versions of the cso_set/save/restore_samplers()
functions. Now we pass the shader stage (PIPE_SHADER_x) to the function
to indicate vertex/fragment/geometry samplers. For example:
cso_single_sampler(cso, PIPE_SHADER_FRAGMENT, unit, sampler);
This results in quite a bit of code reduction, fewer CSO functions and
support for geometry shaders.
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Vinson Lee [Thu, 2 Aug 2012 06:11:33 +0000 (23:11 -0700)]
st/mesa: Ensure dst in compile_instruction is initialized.
Fixes uninitialized scalar variable defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tom Stellard [Thu, 2 Aug 2012 19:37:02 +0000 (19:37 +0000)]
radeon/llvm: Add $(LLVM_LDFLAGS) to the loader linker flags
Tom Stellard [Thu, 2 Aug 2012 18:14:22 +0000 (14:14 -0400)]
radeon/llvm: Add support for more f32 CMP instructions on SI
Tom Stellard [Thu, 2 Aug 2012 18:05:20 +0000 (14:05 -0400)]
radeon/llvm: Add support for fneg on SI
Tom Stellard [Thu, 2 Aug 2012 18:04:36 +0000 (14:04 -0400)]
radeon/llvm: Add support for fp_to_sint on SI
Tom Stellard [Thu, 2 Aug 2012 19:42:50 +0000 (19:42 +0000)]
radeon/llvm: Remove CMOVLOG DAG node
Tom Stellard [Thu, 2 Aug 2012 17:21:30 +0000 (13:21 -0400)]
radeonsi: Properly initialize si_shader_ctx.radeon_bld
Michel Dänzer [Thu, 2 Aug 2012 15:19:22 +0000 (17:19 +0200)]
radeonsi: Handle TGSI TXP opcode.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Michel Dänzer [Thu, 2 Aug 2012 15:30:44 +0000 (17:30 +0200)]
radeonsi: Handle TGSI DIV opcode.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Brian Paul [Thu, 2 Aug 2012 15:40:41 +0000 (09:40 -0600)]
svga: remove questionable INLINE qualifiers
Brian Paul [Thu, 2 Aug 2012 15:40:40 +0000 (09:40 -0600)]
svga: sort #includes
Brian Paul [Thu, 2 Aug 2012 15:40:40 +0000 (09:40 -0600)]
svga: add some comments in svga_screen_cache.c
Brian Paul [Thu, 2 Aug 2012 15:40:40 +0000 (09:40 -0600)]
svga: whitespace, formatting fixes
Brian Paul [Thu, 2 Aug 2012 15:40:40 +0000 (09:40 -0600)]
svga: remove unneeded 'struct svga_screen' declarations
Brian Paul [Thu, 2 Aug 2012 15:40:40 +0000 (09:40 -0600)]
mesa: fix default_access_mode() result for ES2
The GL_OES_mapbuffer extension is supported by OpenGL ES 1 and ES 2 so return
GL_MAP_WRITE_BIT for both ES versions, not just ES 1.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Thu, 2 Aug 2012 15:40:40 +0000 (09:40 -0600)]
mesa: default_access_mode() returns a GLbitfield, not GLenum
José Fonseca [Thu, 2 Aug 2012 15:40:40 +0000 (09:40 -0600)]
scons: set YACCHXXFILESUFFIX to stop needless rebuilding of the parser
Before, the GLSL parser was getting rebuilt every time that scons was
run. The problem was scons was expecting a glsl_parser.hpp file but
we were generating a glsl_parser.h file.
Signed-off-by: Brian Paul <brianp@vmware.com>
Christian König [Fri, 13 Jul 2012 09:23:10 +0000 (11:23 +0200)]
radeonsi: initial VDPAU target
Windowed speed is of course way to slow, but fullscreen
works like a charm now.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Christian König [Wed, 1 Aug 2012 18:46:39 +0000 (20:46 +0200)]
radeon/llvm: fix fp immediates on SI
I don't know if this is a good idea, but it
fixes the problem at hand.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Christian König [Wed, 1 Aug 2012 21:18:14 +0000 (23:18 +0200)]
radeonsi: fix TEX writemask
Using the writemask in the sampler results in packet
VGPRS. For now just sample all components and let
llvm chose the right one.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Christian König [Wed, 1 Aug 2012 20:35:24 +0000 (22:35 +0200)]
radeonsi: fix shader param and color count
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Christian König [Wed, 1 Aug 2012 13:20:07 +0000 (15:20 +0200)]
radeonsi: fix texture loads from sampler > 0
The backend is multiplying the offset by the numbers of
elements anyway, so doing it twice just makes everything
crash.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Christian König [Wed, 1 Aug 2012 09:21:19 +0000 (11:21 +0200)]
radeonsi: disable tiling until we fixed all bugs
Currently there are more important things to worry about.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Vinson Lee [Wed, 1 Aug 2012 05:55:39 +0000 (22:55 -0700)]
scons: Add support for Intel Compiler.
The patch makes the SCons build with Intel Compiler successful.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Pauli Nieminen [Tue, 12 Jun 2012 18:39:01 +0000 (21:39 +0300)]
meta: Use sampler object in framebuffer blit
Framebuffer blit needs to setup texture sampling with no reference to the
user's texturing state, and a sampler object lets us avoid a bunch of changes
to the user's state setup.
We don't bother caching the sampler object since we're changing parameters in
it based on the filtering option to glBlitFramebuffer().
Fixes piglit GL_ARB_sampler_objects/framebufferblit and rendering in l4d2 (our
setting of srgb decode wasn't being respected due to the user's sampler object
being active).
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Pauli Nieminen [Tue, 12 Jun 2012 18:39:00 +0000 (21:39 +0300)]
meta: Add sampler object to texture decompression
Sampler objects can be used to shadow texture object state without
modifying original application state. Decompression path feels a bit
like path where caching shouldn't happen. But as everything else is
cached already I decided to cache sampler state too.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Pauli Nieminen [Tue, 12 Jun 2012 18:38:57 +0000 (21:38 +0300)]
mesa: Allow meta module to call sampler functions
To allow meta module to use sample objects mesa GL functions need to be
visible and linkable for meta module.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Pauli Nieminen [Tue, 12 Jun 2012 18:38:56 +0000 (21:38 +0300)]
swrast: Support sampler object for texture fetching state
swrast needs to pass sampler object into all texture fetching functions
to use correct sampling state when sampler object is bound to the unit.
The changes were made using half manual regular expression replace.
v2: Fix NULL deref in _swrast_choose_triangle(), because the _Current
values aren't set yet, so we need to look at our texObj2D. (anholt)
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Pauli Nieminen [Tue, 12 Jun 2012 18:38:55 +0000 (21:38 +0300)]
mesa: Make ARB_sampler_objects mandatory
To allow meta acceleration operations to use sampler objects the
ARB_sampler_objects extension needs to be mandatory for all drivers.
Because the extension doesn't have any hardware dependencies it is
trivial to implement.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Pauli Nieminen [Tue, 12 Jun 2012 18:38:54 +0000 (21:38 +0300)]
mesa/program: Use sampler object state if present
CompareFailValue is part of Sampler state that needs to be read from
bound sampler object if present.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Pauli Nieminen [Tue, 12 Jun 2012 18:38:53 +0000 (21:38 +0300)]
mesa/ff_shader: Fix sampler state reading
Fixed function fragment shader generator was incorrectly read texture
sampling state directly from texture object. To make sure that
ARB_sampler_object works correctly shader generator has to use the
bound sampler if one exist.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Pauli Nieminen [Tue, 12 Jun 2012 18:38:52 +0000 (21:38 +0300)]
radeon&r200: Add support for ARB_sampler_objects
Preparation for the mandatory support of ARB_sampler_objects. I have tested
this patch with rv280 only.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Pauli Nieminen [Tue, 12 Jun 2012 18:38:51 +0000 (21:38 +0300)]
radeon: Fix printf format not to warn in 64bit
When I build tested radeon changes I noticed two warnings about format
size missmatch in 64bit. I decided to clean them to make relevant
compiler warnings easier to spot.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Pauli Nieminen [Tue, 12 Jun 2012 18:38:50 +0000 (21:38 +0300)]
nouveau: Add support for ARB_sampler_objects
ARB_sampler_objects is very simple software only extension to support. I want
to make it a mandatory extension for Mesa drivers to allow the meta module to
use it.
This patch add support for the extension to nouveau. It is completely untested
search and replace patch, except for flagging the texture state as needing to
be recomputed when a sampler object is present.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Pauli Nieminen [Tue, 12 Jun 2012 18:38:47 +0000 (21:38 +0300)]
mesa/samplerobj: Support EXT_texture_sRGB_decode
sRGBDecode state is part of sampler object state but mesa was missing
handlers to access the state. This patch adds the support for required
state changes and queries.
GL_EXT_texture_sRGB_decode issue 4:
"4) Should we add forward-looking support for ARB_sampler_objects?
RESOLVED: YES
If ARB_sampler_objects exists in the implementation, the sampler
objects should also include this parameter per sampler."
Fixes piglit GL_ARB_sampler_objects/GL_EXT_texture_sRGB_decode.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Pauli Nieminen [Tue, 12 Jun 2012 18:38:46 +0000 (21:38 +0300)]
mesa: Move DepthMode to texture object
GL_DEPTH_TEXTURE_MODE isn't meant to be part of sampler state based on
compatibility profile specifications.
OpenGL specification 4.1 compatibility
20100725 3.9.2:
"... The values accepted in the pname parameter
are TEXTURE_WRAP_S, TEXTURE_WRAP_T, TEXTURE_WRAP_R, TEXTURE_MIN_-
FILTER, TEXTURE_MAG_FILTER, TEXTURE_BORDER_COLOR, TEXTURE_MIN_-
LOD, TEXTURE_MAX_LOD, TEXTURE_LOD_BIAS, TEXTURE_COMPARE_MODE, and
TEXTURE_COMPARE_FUNC. Texture state listed in table 6.25 but not listed here and
in the sampler state in table 6.26 is not part of the sampler state, and remains in the
texture object."
The list of states is in Table 6.24 "Textures (state per texture
object)" instead of 6.25 mentioned in the specification text.
Same can be found from 3.3 compatibility specification.
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Paul Berry [Fri, 27 Jul 2012 01:02:20 +0000 (18:02 -0700)]
i965/msaa: Allow GL_SAMPLES to be set to 1 prior to Gen6.
This patch allows GL_SAMPLES to be set to either 0 or 1 on i965
platforms that don't support MSAA (those prior to Gen6). Setting
GL_SAMPLES=1 has the same effect as setting it to 0 on these platforms
(because MSAA is unsupported), but is distinguishable via the GL API.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50165
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Paul Berry [Fri, 27 Jul 2012 01:01:28 +0000 (18:01 -0700)]
i965/msaa: Treat GL_SAMPLES=1 as equivalent to GL_SAMPLES=0.
EXT_framebuffer_multisample is a required subpart of
ARB_framebuffer_object, which means that we must support it even on
platforms that don't support MSAA. Fortunately
EXT_framebuffer_multisample allows for this by allowing GL_MAX_SAMPLES
to be set to 1.
This leads to a tricky quirk in the GL spec: since
GlRenderbufferStorageMultisamples() accepts any value for its
"samples" parameter up to and including GL_MAX_SAMPLES, that means
that on platforms that don't support MSAA, GL_SAMPLES is allowed to be
set to either 0 or 1. On platforms that do support MSAA, GL_SAMPLES=1
is not used; 0 means no MSAA, and 2 or higher means MSAA.
In other words, GL_SAMPLES needs to be interpreted as follows:
=0 no MSAA (possible on all platforms)
=1 no MSAA (only possible on platforms where MSAA unsupported)
>1 MSAA (only possible on platforms where MSAA supported)
This patch modifies all MSAA-related code to choose between
multisampling and single-sampling based on the condition (GL_SAMPLES >
1) instead of (GL_SAMPLES > 0) so that GL_SAMPLES=1 will be treated as
"no MSAA".
Note that since GL_SAMPLES=1 implies GL_SAMPLE_BUFFERS=1, we can no
longer use GL_SAMPLE_BUFFERS to distinguish between MSAA and non-MSAA
rendering.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Tomeu Vizoso [Mon, 16 Jul 2012 18:45:17 +0000 (20:45 +0200)]
glsl: Add support for OES_standard_derivatives in GLSL ES.
Previously, we advertised the extension but the builtin functions
were enabled only for GLSL and not for ES.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52003
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Chad Versace [Tue, 10 Jul 2012 00:01:29 +0000 (17:01 -0700)]
intel: Use consistent pattern in intelCreateBuffer
The 16-bit depth case did not follow the function's prevalent pattern.
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Chad Versace [Mon, 9 Jul 2012 23:51:23 +0000 (16:51 -0700)]
intel: Decrease nesting level in intelCreateBuffer
Nearly the whole function body was contained in the 'else' branch. The
'if' branch did one thing: return early with an error. Clean things up by
moving all the code out of the 'else' branch. Decreases max nesting level
from 4 to 3.
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Chad Versace [Mon, 9 Jul 2012 22:51:06 +0000 (15:51 -0700)]
intel: Remove dead code in intelAllocateBuffer
After commit "intel: Convert to using private depth/stencil buffers", we
request from DRI2GetBuffersWithFormat only the front left and back left
buffers. We no longer request depth and stencil buffers.
Assert that in intelAllocateBuffer and remove the related dead code.
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Matt Turner [Wed, 1 Aug 2012 17:11:46 +0000 (10:11 -0700)]
configure.ac: Remove extra ;;
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=53053
Matt Turner [Wed, 1 Aug 2012 15:38:35 +0000 (08:38 -0700)]
configure.ac: Don't duplicate CFLAGS
These assignments caused CFLAGS specified on the configure line to
appear twice in the final CFLAGS. Removing them makes the behavior
reasonable -- USER_CFLAGS are appended at the end of CFLAGS, allowing
the builder to override flags added by configure.ac like
-fno-strict-aliasing.
Reviewed-by: Adam Jackson <ajax@redhat.com>