Paul Berry [Thu, 8 Sep 2011 01:28:32 +0000 (18:28 -0700)]
Increase MAX_CLIP_PLANES to 8
This will allow drivers to increase ctx->Const.MaxClipPlanes to 8,
which is required for GLSL-1.30 compliance.
No driver behavior should be affected. However, many data structures
use MAX_CLIP_PLANES as an array size, so these arrays will get
slightly larger.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Paul Berry [Thu, 8 Sep 2011 01:24:00 +0000 (18:24 -0700)]
Hardcode the default value of ctx->Const.MaxClipPlanes to 6.
Previously this value was set to MAX_CLIP_PLANES, which is defined to
be 6. But MAX_CLIP_PLANES needs to be increased to 8 to support
GLSL-1.30-compliant drivers. This patch hard-codes the default value
of ctx->Const.MaxClipPlanes to 6, so that when MAX_CLIP_PLANES is
increased, it won't affect drivers that do not support 8 clip planes.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Paul Berry [Tue, 13 Sep 2011 22:40:07 +0000 (15:40 -0700)]
i965: Remove bogus assertion on MAX_CLIP_PLANES.
This patch removes the assertion "MAX_CLIP_PLANES == 6" from the i965
driver. This assertion is unnecessary; nothing in the driver requires
MAX_CLIP_PLANES to be 6.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Paul Berry [Thu, 8 Sep 2011 00:44:28 +0000 (17:44 -0700)]
mesa: Update clipping code to use ctx->Const.MaxClipPlanes.
To support GLSL 1.30, we will need to increase MAX_CLIP_PLANES to 8.
To avoid breaking drivers that do not yet support 8 clip planes, this
patch modifies the Mesa core code that pertains to clipping to use
ctx->Const.MaxClipPlanes rather than MAX_CLIP_PLANES, since
ctx->Const.MaxClipPlanes will remain 6 for drivers that only support 6
clip planes.
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
José Fonseca [Tue, 20 Sep 2011 19:50:27 +0000 (20:50 +0100)]
scons: Unbreak mingw build.
José Fonseca [Tue, 20 Sep 2011 19:40:05 +0000 (20:40 +0100)]
scons: MacOSX build fixes.
Bryan Cain [Mon, 19 Sep 2011 21:46:44 +0000 (16:46 -0500)]
glsl_to_tgsi: implement ir_binop_all_equal and ir_binop_any_nequal for native integers
Eric Anholt [Tue, 6 Sep 2011 20:21:24 +0000 (13:21 -0700)]
i965/vs: Add support for compute-to-MRF.
Removes 1.8% of the instructions from 97% of the vertex shaders in
shader-db.
Eric Anholt [Tue, 6 Sep 2011 19:32:33 +0000 (12:32 -0700)]
i965/vs: Do VUE writes using the MRF file instead of hardware register.
We'll only do compute-to-MRF on accesses to this file.
Eric Anholt [Tue, 6 Sep 2011 19:29:15 +0000 (12:29 -0700)]
i965/vs: Handle destinations in the MRF file.
We've been referencing MRFs through the HW_REG file so far, but that
makes it harder to handle compute-to-MRF and similar optimizations.
Eric Anholt [Tue, 6 Sep 2011 19:26:42 +0000 (12:26 -0700)]
i965/vs: Add a function for how many MRFs get written as part of a SEND.
This will be used for compute-to-mrf, which needs to know when MRFs
get overwritten.
Eric Anholt [Tue, 6 Sep 2011 18:56:53 +0000 (11:56 -0700)]
i965/vs: Remove dead fields of src_reg.
These were copy and pasted from the FS, and are never used.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 2 Sep 2011 22:18:29 +0000 (15:18 -0700)]
i965/vs: Add support for simple algebraic optimizations.
We generate silly code for array access, and it's easier to generally
support the cleanup than to specifically avoid the bad code in each
place we might generate it.
Removes 4.6% of instructions from 41.6% of shaders in shader-db,
particularly savage2/hon and unigine.
v2: Fixes by Ken: Make is_zero/one member functions, and fix a
progress flag.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 19 Sep 2011 16:26:50 +0000 (09:26 -0700)]
i965: Fix polygon stipple offset state flagging.
_NEW_WINDOW_POS wasn't a real Mesa state flag, but we were missing
_NEW_BUFFERS to update the stipple offset when FBO binding or window
size changed, and _NEW_POLYGON to update when stippling gets enabled.
Fixes oglconform's tristrip test.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Eric Anholt [Mon, 19 Sep 2011 16:25:49 +0000 (09:25 -0700)]
i965: Add missing _NEW_POLYGON flag to polygon stipple upload.
Because we skip the pattern upload when stippling is disabled, we need
to check again when it might have been turned on.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Eric Anholt [Tue, 20 Sep 2011 17:19:50 +0000 (10:19 -0700)]
i965: Fix compiler warnings.
Yuanhan Liu [Tue, 20 Sep 2011 05:32:50 +0000 (13:32 +0800)]
mesa: fix error handling for glMaterial*
Trigger GL_INVALID_ENUM error if the face paramter is not a valid value.
Trigger GL_INVALID_VALUE error if the GL_SHININESS value is out side
[0, ctx->Constant.MaxShiniess].
v2: fix the max shininess value.
v3: suggested by Brian, move the face check into glMaterialfv function
to reduce code duplicate. Also, refactor the error message.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Chia-I Wu [Tue, 20 Sep 2011 06:01:45 +0000 (14:01 +0800)]
st/egl: add support for null platform
The backend calls null_sw_create() to create sw_winsys. And that is
pretty much it...
Chia-I Wu [Tue, 20 Sep 2011 06:01:26 +0000 (14:01 +0800)]
egl: add null platform
The null platform has no window or pixmap surface (but pbuffer surface).
And the only valid display is EGL_DEFAULT_DISPLAY. It is useful for
offscreen rendering. It works everywhere becase no window system is
required.
Dave Airlie [Tue, 20 Sep 2011 07:22:59 +0000 (08:22 +0100)]
configs: remove rest of APP_LIB_DEPS lines
pointed out by GArik_ on #radeon.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Kenneth Graunke [Tue, 6 Sep 2011 23:39:01 +0000 (16:39 -0700)]
i965/fs: Implement texelFetch() on Gen4.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Kenneth Graunke [Fri, 26 Aug 2011 00:43:58 +0000 (17:43 -0700)]
i965/fs: Implement texelFetch() on Ivybridge.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Kenneth Graunke [Fri, 26 Aug 2011 00:13:37 +0000 (17:13 -0700)]
i965/fs: Implement texelFetch() on Ironlake and Sandybridge.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Ian Romanick [Tue, 6 Sep 2011 20:05:15 +0000 (13:05 -0700)]
glapi: Update generated file modified by previous commit
Ian Romanick [Tue, 6 Sep 2011 20:02:13 +0000 (13:02 -0700)]
glapi: Don't emit remap data for individual extensions
All of the extensions actually supported by Mesa have been remapped by
remap.c for a long time. Emitting all of these data structures is
just clutter.
Drivers that need additional functions remapped, should add
'offset="assign"' to the function definition in the .xml file.
The changes to remap_helper.h are in a follow-on ~8700 line patch that
would surely be rejected by the mailing list.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chia-I Wu <olv@lunarg.com>
Ian Romanick [Sat, 20 Aug 2011 21:17:45 +0000 (14:17 -0700)]
mesa: Delete stale comment about MESAX extensions
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Ian Romanick [Fri, 9 Sep 2011 21:27:38 +0000 (14:27 -0700)]
mesa: Replace _mesa_rgba_logicop_enabled(ctx) with ctx->Color.ColorLogicOpEnabled
Since GL_EXT_blend_logic_op is removed, _mesa_rgba_logicop_enabled(ctx)
just returns ctx->Color.ColorLogicOpEnabled. That seems kind of silly.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Ian Romanick [Fri, 9 Sep 2011 21:23:15 +0000 (14:23 -0700)]
mesa: Use ColorLogicOpEnabled instead of _LogicOpEnabled
Since GL_EXT_blend_logic_op is removed, _LogicOpEnabled and
ColorLogicOpEnabled always have the same value.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Ian Romanick [Fri, 9 Sep 2011 21:14:42 +0000 (14:14 -0700)]
mesa: Remove support for GL_EXT_blend_logic_op
Support is removed for four reasons:
1. The implementation was broken with respect to separate blend
equations. The GL_EXT_blend_equation_separate spec says:
"If EXT_blend_logic_op and EXT_blend_equation_separate are both
supported, the logic op blend equation should be supported separately
for RGB and alpha as with the other blend equation modes."
But Mesa's implementation of GL_LOGIC_OP specifically forbids this.
2. No hardware supported by Mesa can support separate blend equations
involving GL_LOGIC_OP.
3. No applications could be found that use this extension.
4. No other Linux OpenGL drivers support this extension.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Cc: Brian Paul <brianp@vmware.com>
Ian Romanick [Fri, 9 Sep 2011 21:07:54 +0000 (14:07 -0700)]
st/mesa: Remove support for GL_EXT_blend_logic_op
It was broken, and it isn't really useful anyway.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Cc: Brian Paul <brianp@vmware.com>
Ian Romanick [Thu, 8 Sep 2011 16:58:13 +0000 (09:58 -0700)]
mesa: Remove unused _mesa_enable_imaging_extensions function
The last user of this function was driInitExtensions, and that function
was removed in a previous commit.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Colin Walters [Sat, 17 Sep 2011 15:21:30 +0000 (11:21 -0400)]
autogen.sh: Honor NOCONFIGURE environment variable
See http://people.gnome.org/~walters/docs/build-api.txt
Signed-off-by: Dave Airlie <airlied@redhat.com>
Eric Anholt [Fri, 9 Sep 2011 00:17:31 +0000 (17:17 -0700)]
mesa: Throw an error when starting conditional render on an active query.
From the NV_conditional_render spec:
BeginQuery sets the active query object name for the query type given by
<target> to <id>. If BeginQuery is called with an <id> of zero, if the
active query object name for <target> is non-zero, if <id> is the active
query object name for any query type, or if <id> is the active query
object for condtional rendering (Section 2.X), the error INVALID OPERATION
is generated.
Fixes piglit nv_conditional_render-begin-while-active.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Thu, 8 Sep 2011 23:52:44 +0000 (16:52 -0700)]
mesa: Throw an error instead of asserting for condrender with query == 0.
From the NV_conditional_render spec:
BeginQuery sets the active query object name for the query type given by
<target> to <id>. If BeginQuery is called with an <id> of zero, if the
active query object name for <target> is non-zero, if <id> is the active
query object name for any query type, or if <id> is the active query
object for condtional rendering (Section 2.X), the error INVALID OPERATION
is generated.
Fixes piglit nv_conditional_render-begin-zero.
Reviewed-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Thu, 8 Sep 2011 23:42:39 +0000 (16:42 -0700)]
mesa: Add support for Begin/EndConditionalRender in display lists.
Fixes piglit nv_conditional_render-dlist.
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Fri, 16 Sep 2011 19:51:58 +0000 (21:51 +0200)]
mesa: fix an autoconf build-system bug related to glsl_to_tgsi
st_glsl_to_tgsi.cpp was completely ignored by makedepend because it was
not included in ALL_SOURCES, which caused that the file was not recompiled
when certain header files were changed (like glsl/ir.h).
The first part of this commit is just a consolidation.
The second part is the fix.
Brian Paul [Mon, 19 Sep 2011 17:38:02 +0000 (11:38 -0600)]
mesa: fix format/type check in unpack_image() for bitmaps
Passing type == GL_BITMAP returns 0 while error values return -1.
This fixes glPolygonStipple being compiled into display lists.
Paul Berry [Thu, 15 Sep 2011 00:06:35 +0000 (17:06 -0700)]
i965 new VS: Fix copy propagation of double negatives.
When copy propagating a value into an instruction that negates its
argument, we need to invert the sense of the value's "negate" flag, so
that -(+x) becomes -x and -(-x) becomes +x.
Previously, we were always setting the value's "negate" flag to true
in this circumstance, so that both -(+x) and -(-x) turned into -x.
Fixes Piglit test vs-double-negative.shader_test.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Tue, 13 Sep 2011 19:05:27 +0000 (14:05 -0500)]
mesa: Advertise GL_OES_compressed_paletted_texture in OpenGL ES1.x
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Jin Yang <jin.a.yang@intel.com>
Ian Romanick [Mon, 12 Sep 2011 16:49:55 +0000 (11:49 -0500)]
mesa: Remove redundant compressed paletted texture error checks
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Jin Yang <jin.a.yang@intel.com>
Ian Romanick [Mon, 12 Sep 2011 16:46:09 +0000 (11:46 -0500)]
mesa: Refactor compressed texture error checks to work with paletted textures
This code was really broken before. A lot of the error checks were
done much later (too late), and some of the error checks would fail.
The underlying problem is that Mesa doesn't ever keep compressed paletted
textures in their original format. The textures are immediately
converted to some RGB or RGBA format.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=39991
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Jin Yang <jin.a.yang@intel.com>
Ian Romanick [Mon, 12 Sep 2011 16:45:43 +0000 (11:45 -0500)]
mesa: Add _mesa_cpal_compressed_format_type
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Jin Yang <jin.a.yang@intel.com>
Ian Romanick [Mon, 12 Sep 2011 16:38:52 +0000 (11:38 -0500)]
mesa: Refactor expected texture size check in cpal_get_info
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Jin Yang <jin.a.yang@intel.com>
Ian Romanick [Mon, 12 Sep 2011 16:37:50 +0000 (11:37 -0500)]
mesa: Add GL_OES_compressed_paletted_texture formats to _mesa_base_tex_format
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Jin Yang <jin.a.yang@intel.com>
Ian Romanick [Mon, 12 Sep 2011 16:36:53 +0000 (11:36 -0500)]
mesa: Add GL_OES_compressed_paletted_texture formats to _mesa_is_compressed_format
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Jin Yang <jin.a.yang@intel.com>
Nicholas Miell [Mon, 19 Sep 2011 09:48:36 +0000 (02:48 -0700)]
Update llvmpipe's gitignore
Signed-off-by: Brian Paul <brianp@vmware.com>
Yuanhan Liu [Mon, 19 Sep 2011 10:25:55 +0000 (18:25 +0800)]
mesa: fix error handling for glMapBufferRange
Accroding the man page, GL_INVALID_VALUE would generated if access has any
bits set other than those valid defined bits.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Mon, 19 Sep 2011 14:13:38 +0000 (08:13 -0600)]
mesa: generate GL_INVALID_OPERATION in glIsEnabledIndex() between Begin/End
Yuanhan Liu [Mon, 19 Sep 2011 07:03:04 +0000 (15:03 +0800)]
mesa: fix error handling for glSelectBuffer
According the man page, trigger a GL_INVALID_VALUE if size < 0.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Yuanhan Liu [Mon, 19 Sep 2011 07:03:03 +0000 (15:03 +0800)]
mesa: fix error handling for glPixelZoom
According the man page, GL_INVALID_OPERATION should generated if
glPixelZoom is executed between the execution of glBegin and the
corresponding execution of glEnd.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Yuanhan Liu [Mon, 19 Sep 2011 07:03:01 +0000 (15:03 +0800)]
mesa: fix error handling for glIsEnabled
According the man page, GL_INVALID_OPERATION should be generated if
glIsEnabled is executed betwwen the execution of glBegin and the
correspoding execution of glEnd.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Yuanhan Liu [Mon, 19 Sep 2011 07:03:00 +0000 (15:03 +0800)]
mesa: fix error handling for glTexEnv
Fix error handling while calling glTexEnv with invalid texture
environment parameters.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Yuanhan Liu [Mon, 19 Sep 2011 07:02:59 +0000 (15:02 +0800)]
mesa: fix error handling for some glGet* functions
According to the man page, it should trigger a GL_INVALID_OPERATION
while calling some glGet* functions inside glBegin and glEnd.
This patch dose handle the following functions:
glGetBooleanv
glGetFloatv
glGetIntegerv
glGetInteger64v
glGetDoublev
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Yuanhan Liu [Mon, 19 Sep 2011 07:02:58 +0000 (15:02 +0800)]
mesa: fix error handling for glEvalMesh1/2D
According man page, trigger error when calling glEvalMesh1/2D inside
glBegin/glEnd.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Matt Turner [Sun, 18 Sep 2011 21:34:47 +0000 (17:34 -0400)]
Remove unused APP_LIB_DEPS variable
Unused since removal of demos from the repository?
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Matt Turner [Sun, 18 Sep 2011 17:26:20 +0000 (13:26 -0400)]
egl_glx.c: use unsigned instead of uint
We've had a hack to fix this in Gentoo on Solaris for a while.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Matt Turner [Sat, 17 Sep 2011 22:59:49 +0000 (18:59 -0400)]
Remove unneeded xdamages header from dri2_glx.c.
It's needed for dri1 but not dri2.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Dave Airlie [Mon, 19 Sep 2011 09:20:10 +0000 (10:20 +0100)]
graw: fix tests to build on msvc again.
Should fix https://bugs.freedesktop.org/show_bug.cgi?id=40997
Signed-off-by: Dave Airlie <airlied@redhat.com>
Tom Stellard [Mon, 19 Sep 2011 00:43:41 +0000 (17:43 -0700)]
r300/compiler: Fix regalloc for values with multiple writers
https://bugs.freedesktop.org/show_bug.cgi?id=40062
https://bugs.freedesktop.org/show_bug.cgi?id=36939
Note: This is a candidate for the 7.11 branch.
Brian Paul [Tue, 13 Sep 2011 19:30:17 +0000 (13:30 -0600)]
swrast: fix more store_texel() bugs
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=40412 on swrast.
Dave Airlie [Fri, 16 Sep 2011 08:39:34 +0000 (09:39 +0100)]
gallium: move clear paths from rgba to a pointer to a color union (v2)
This moves the gallium interface for clears from using a pointer to 4 floats to a pointer to a union of float/unsigned/int values.
Notes:
1. the value is opaque.
2. only when the value is used should it be interpretered according to
the surface format it is going to be used with.
3. float clears on integer buffers and vice-versa are undefined.
v2: fixed up vega and graw, dropped hunks that shouldn't have been in
patch.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Brian Paul [Sat, 17 Sep 2011 20:50:49 +0000 (14:50 -0600)]
mesa: use ctx->Driver.AllocTextureImageBuffer() to alloc texture memory
Brian Paul [Sat, 17 Sep 2011 20:50:49 +0000 (14:50 -0600)]
mesa: plug in swrast texture image alloc/free functions
Use the swrast allocation/free functions instead of core Mesa.
Brian Paul [Sat, 17 Sep 2011 20:50:48 +0000 (14:50 -0600)]
swrast: add Alloc/FreeTextureImageBuffer() driver functions
Not called yet. These will replace the core Mesa functions for allocating
and freeing malloc'd texture memory.
Brian Paul [Sat, 17 Sep 2011 20:50:48 +0000 (14:50 -0600)]
mesa: add AllocTextureImageBuffer() driver hook
Brian Paul [Sat, 17 Sep 2011 20:50:48 +0000 (14:50 -0600)]
mesa: move gl_texture_image::FetchTexel fields to swrast
This also involves passing swrast_texture_image instead of gl_texture_image
into all the fetch functions.
Brian Paul [Sat, 17 Sep 2011 20:50:48 +0000 (14:50 -0600)]
swrast: plug in _swrast_new/delete_texture_image() functions
Brian Paul [Sat, 17 Sep 2011 20:50:48 +0000 (14:50 -0600)]
radeon: make radeon_texture_image a subclass of swrast_texture_image
Brian Paul [Sat, 17 Sep 2011 20:50:48 +0000 (14:50 -0600)]
intel: make intel_texture_image a subclass of swrast_texture_image
We need to subclass swrast_texture_image because if we use swrast for
fallback rendering, we'll need to have swrast_texture_image objects.
Brian Paul [Sat, 17 Sep 2011 20:50:48 +0000 (14:50 -0600)]
swrast: introduce new swrast_texture_image struct
No subclass fields yet. Subsequent patches will add the fields related
to software rendering that are currently in gl_texture_image.
Brian Paul [Sat, 17 Sep 2011 20:50:48 +0000 (14:50 -0600)]
mesa: add new DeleteTextureImage() driver hook
Matches the NewTextureImage() hook. With new subclasses of
gl_texture_image coming we need a new hook to properly delete objects of
those subclasses.
Brian Paul [Sat, 17 Sep 2011 20:50:48 +0000 (14:50 -0600)]
mesa: move software texel fetch code into swrast
It's only used by swrast now so move it out of core Mesa.
Brian Paul [Sat, 17 Sep 2011 20:50:48 +0000 (14:50 -0600)]
mesa: move _mesa_update_fetch_functions() calls into swrast
Do it during swrast state validation since the FetchTexel() functions
are only called from swrast now and not core Mesa.
Remove assertions in mipmap.c since they're no longer appropriate.
Brian Paul [Sat, 17 Sep 2011 19:33:04 +0000 (13:33 -0600)]
mesa: implement unpack_SIGNED_GR1616 in format_unpack.c
Brian Paul [Sat, 17 Sep 2011 17:13:31 +0000 (11:13 -0600)]
meta: fix/add checks for GL_EXT_framebuffer_sRGB
This fixes spurious GL errors when the GL_EXT_framebuffer_sRGB extension
is not supported.
Note: This is a candidate for the 7.11 branch
Brian Paul [Sat, 17 Sep 2011 16:50:07 +0000 (10:50 -0600)]
mesa: s/short/ushort/ in unpack_SIGNED_RGBA_16()
Christoph Bumiller [Sat, 17 Sep 2011 10:11:44 +0000 (12:11 +0200)]
d3d1x: fix parsing of SM4 relative addressing register op
Christoph Bumiller [Sat, 17 Sep 2011 09:58:05 +0000 (11:58 +0200)]
d3d1x: set flatshade_first in rasterizer state
D3D10 specifies the first vertex as the leading/provoking one.
Christoph Bumiller [Sat, 17 Sep 2011 10:07:42 +0000 (12:07 +0200)]
d3d1x: initialize point size and line width to 1
Otherwise lines would never be visible since the width cannot be
specified in D3D10.
Wireframe mode is also affected by line width.
Tom Stellard [Wed, 15 Jun 2011 15:00:53 +0000 (08:00 -0700)]
r300/compiler: Add support for the output modifier (OMOD)
Tom Stellard [Wed, 15 Jun 2011 15:00:13 +0000 (08:00 -0700)]
r300/compiler: Move some helper functions to radeon_compiler_util.c
Tom Stellard [Fri, 16 Sep 2011 01:24:55 +0000 (18:24 -0700)]
r300/compiler: Don't unroll loops that conditionally increment the counter
Vinson Lee [Mon, 12 Sep 2011 16:21:31 +0000 (09:21 -0700)]
nouveau: Fix typos of ParseSourceList in SConscript files.
Reviewed-by: Chia-I Wu <olv@lunarg.com>
Brian Paul [Fri, 16 Sep 2011 16:11:52 +0000 (10:11 -0600)]
scons: fix incorrect test for embedded build
This was missed back in commit
41750107496858a047afa8d81d20fe903f285a78.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Marek Olšák [Tue, 13 Sep 2011 13:01:45 +0000 (15:01 +0200)]
winsys/radeon: use the cache bufmgr for buffers with PIPE_BIND_CUSTOM
so that we don't abuse PIPE_BIND_VERTEX_BUFFER all the time.
Brian Paul [Thu, 15 Sep 2011 22:21:12 +0000 (16:21 -0600)]
softpipe: use pipe_get_tile_rgba_format()
Pass an explicit surface format as we do with pipe_put_tile_rgba_format().
This fixes the piglit fbo-srgb-blit test. With GL_EXT_framebuffer_sRGB we
override the resource's format with an explicit format (linear vs. sRGB).
We need to do so both when getting and putting tiles.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=40402
Reviewed-by: Dave Airlie <airlied@redhat.com>
Brian Paul [Thu, 15 Sep 2011 22:20:01 +0000 (16:20 -0600)]
softpipe: use util_format_is_depth_or_stencil()
Reviewed-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Fri, 16 Sep 2011 13:08:30 +0000 (14:08 +0100)]
r600g: fixup missing scaled r600 types.
I was still missing a couple of types on r600/r700 codepaths.
Fixes these up.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Thu, 15 Sep 2011 11:41:00 +0000 (12:41 +0100)]
r600g: interpret integer texture types as ints.
For signed/unsigned with no normalisation or srgb, assume its an INT
type texture.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Thu, 15 Sep 2011 11:39:26 +0000 (12:39 +0100)]
r600g: take constantly interpolated values into a/c
We could constant interpolated values now and set have_perspective
if nothing else is set to avoid a GPU hang.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Thu, 15 Sep 2011 11:38:10 +0000 (12:38 +0100)]
r600g: add flat non-interpolation support.
TGSI CONSTANT interpolation is just flat, and we just read the values
direct from the LDS into the GPR without doing any interpolation on them.
This is needed to pass integer types into the fragment shader.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Thu, 15 Sep 2011 11:34:43 +0000 (12:34 +0100)]
r600g: set number type correctly for color buffers.
If we get a scaled type assume its a real integer type (as textures are).
Also fixup the blend bypass and blend clamp flags on evergreen as per the
docs.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sat, 10 Sep 2011 16:53:34 +0000 (17:53 +0100)]
r600g: add missing formats to color buffer setup.
just playing with EXT_texture_integer, and this was first bug.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Brian Paul [Wed, 14 Sep 2011 14:30:52 +0000 (08:30 -0600)]
softpipe: use consistent indentation in sp_quad_blend.c
Tobias Droste [Thu, 15 Sep 2011 00:39:26 +0000 (02:39 +0200)]
gallivm: fix build with LLVM 3.0svn
LLVM 3.0svn added SubtargetInfo as additional parameter to
createMCDisassembler() and createMCInstPrinter().
See revision 139237 of LLVM.
Signed-off-by: Tobias Droste <tdroste@gmx.de>
Signed-off-by: Brian Paul <brianp@vmware.com>
Eugeni Dodonov [Thu, 15 Sep 2011 18:12:02 +0000 (15:12 -0300)]
Change strerror(ret) to strerror(-ret).
Brian Paul [Thu, 15 Sep 2011 17:31:55 +0000 (11:31 -0600)]
softpipe: fix blending for luminance/intensity surfaces
If we're drawing to a luminance, luminance/alpha or intensity surface
we have to adjust (rebase) the fragment/quad colors before writing them
to the tile cache. The tile cache always stores RGBA colors but if
we're caching a L/A surface (for example) we need to be sure that R=G=B
so that subsequent reads from the surface cache appear to return L/A
We previously had a special case for RGB (no alpha) surfaces. This
change generalizes that for the other base formats.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=40408, but sRGB
formats are still failing. That'll be addressed in a later patch.
Brian Paul [Thu, 15 Sep 2011 17:31:55 +0000 (11:31 -0600)]
util: add util_format_is_luminance/intensity/rgb(), etc
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Jørgen Lind [Thu, 15 Sep 2011 15:36:46 +0000 (17:36 +0200)]
wayland: Flush before blocking in swapbuffers.
Make sure that we've sent the frame request that we're going to block on.
Brian Paul [Thu, 15 Sep 2011 15:06:19 +0000 (09:06 -0600)]
mesa: fix error handling for dlist image unpacking
When compiling glDrawPixels, glTexImage(), etc. and we're copying
the user's image we need to be careful about GL error checking.
Previously, we were incorrectly generating GL_OUT_OF_MEMORY in
unpack_image() if width <= 0 or height <= 0 or for invalid format/type
values. We now check those arguments in unpack_image() and return NULL
if there's a bad value. The command will get compiled with the
arguments as-is and image=NULL. Later, when the command is executed the
correct errors will be generated.
This issue was reported by Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>