Marek Olšák [Thu, 30 Aug 2012 14:33:36 +0000 (16:33 +0200)]
r600g: enable transform feedback on Cayman
There doesn't seem to be anything wrong with it.
Marek Olšák [Thu, 30 Aug 2012 03:38:02 +0000 (05:38 +0200)]
r600g: implement MSAA for Cayman
Everything works except for blitting MSAA colorbuffers, which isn't
so trivial on Cayman. It's a rarely-used feature anyway.
Anuj Phogat [Wed, 29 Aug 2012 19:22:11 +0000 (12:22 -0700)]
i965/msaa: flag _NEW_MULTISAMPLE in the brw_tracked_state
This is required to get the program recompiled when SampleAlphaToCoverage
is enabled.
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Marek Olšák [Sun, 26 Aug 2012 21:03:51 +0000 (23:03 +0200)]
r600g: enable MSAA on r6xx by default
DRM 2.22.0 is required though. Also require the new DRM for r700, as
there are some important fixes for that generation too.
Marek Olšák [Sun, 26 Aug 2012 21:02:37 +0000 (23:02 +0200)]
r600g: disable MSAA depth decompression on r6xx
Marek Olšák [Sun, 26 Aug 2012 20:38:35 +0000 (22:38 +0200)]
r600g: implement color resolve for r600
The blend state is different and the resolve single-sample buffer must have
FMASK and CMASK enabled. I decided to have one CMASK and one FMASK
per context instead of per resource.
There are new FMASK and CMASK allocation helpers and a new buffer_create
helper for that.
Marek Olšák [Sun, 26 Aug 2012 20:33:55 +0000 (22:33 +0200)]
r600g: fix CB_SHADER_MASK and CB_TARGET_MASK for r6xx
Marek Olšák [Fri, 24 Aug 2012 03:57:22 +0000 (05:57 +0200)]
r600g: implement draw_rectangle callback
The color resolve on r6xx needs PT_RECTLIST. Using conventional primitive
types (triangles and quads) produces an ugly line between two diagonally
opposite corners. I guess a rectangular point sprite would work too.
Marek Olšák [Thu, 2 Aug 2012 20:31:22 +0000 (22:31 +0200)]
r600g: implement MSAA for r700
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Tue, 21 Aug 2012 18:26:20 +0000 (20:26 +0200)]
r600g: change programming of CB_SHADER_MASK on r600-r700
This one actually makes more sense and gives the expected value
for MSAA resolve.
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Sun, 26 Aug 2012 22:22:31 +0000 (00:22 +0200)]
configure.ac: require libdrm_radeon 2.6.39 for MSAA
Brian Paul [Thu, 30 Aug 2012 14:45:13 +0000 (08:45 -0600)]
meta: remove call to _meta_in_progress(), fix multisample enable/disable
This partially reverts
d638da23d2ec2e9c52655b1ea138249e7f8bcccb.
With gallium the meta code is not always built so the call to
_meta_in_progress() was unresolved. Simply special-case the
GL_MULTISAMPLE case in the meta code. There might be other special
cases in the future given all the differences between legacy GL,
core GL, GLES, etc.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=54234
and https://bugs.freedesktop.org/show_bug.cgi?id=54239
v2 (Paul Berry <stereotype441@gmail.com>): keep _meta_in_progress
function, since it's needed by the i965 driver, but don't call it from
core mesa.
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Thu, 30 Aug 2012 14:43:27 +0000 (08:43 -0600)]
meta: add parenthesis to silence compiler warnings
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Tapani Pälli [Tue, 28 Aug 2012 11:01:51 +0000 (14:01 +0300)]
scons : add HAVE_DLOPEN to build environment
fixes dlopen issue caused by
57c57df7b4579b60a84062df2e64f84dd84558b5
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54140
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Christian König [Fri, 24 Aug 2012 08:55:16 +0000 (10:55 +0200)]
radeonsi: fix stupid bug added in commit
07838603b9a69c05911edbcd351bfce5ad9b5a2c
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Eric Anholt [Mon, 4 Jun 2012 22:44:58 +0000 (15:44 -0700)]
i965/fs: Remove a dead member from live variables analysis.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Kenneth Graunke [Wed, 29 Aug 2012 08:51:17 +0000 (01:51 -0700)]
i965/fs: Initialize output_components[] by filling it with zeros.
Prior to commit
2f1869822, emit_fb_writes() looped from 0 to 3, writing
all four components of a vec4 color output. However, that broke for
smaller output types (float, vec2, or vec3). To fix that, I introduced
a new variable (output_components[]) containing the size of the output
type for each render target.
Unfortunately, I forgot to actually initialize it in the constructor,
which meant that unless a shader wrote to gl_FragColor, or the specific
output for each render target, output_components would contain a garbage
value, and we'd loop for a completely non-deterministic amount of time.
Not actually emitting any color writes seems like the right approach.
We may still need to emit a render target write (to terminate the
thread), but don't have to put in any sensible values (the shader didn't
write anything, after all).
Fixes a regression since
2f18698220d8b27991fab550c4721590d17278e0.
NOTE: This is a candidate for stable release branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54193
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Tested-by: Ian Romanick <idr@freedesktop.org>
Ian Romanick [Tue, 21 Aug 2012 22:20:23 +0000 (15:20 -0700)]
mesa: Do something sensible when on-line compression is requested but not possible
It is possible to force S3TC extensions to be enabled. This is
generally done to support applications that will only supply
pre-compressed textures. This accounts for the vast majority of
applications.
However, there is still the possibility of an application asking for
on-line compression. In that case, generate a warning and substitute a
generic compressed format. The driver will either pick an uncompressed
format or a compressed format that Mesa can handle on-line (e.g., FXT1).
This should only cause problems for applications that request on-line
compression and read the compressed texture back. This is likely an
infinitesimal subset of an already infinitesimal subset.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Tue, 7 Aug 2012 19:50:44 +0000 (12:50 -0700)]
i965: Allow creation of OpenGL 3.1 contexts
v2: Fix API_OPENGL_CORE handling when TEXTURE_FLOAT_ENABLED is not
defined. Based on review feedback from Eric Anholt.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Ian Romanick [Wed, 8 Aug 2012 16:11:05 +0000 (09:11 -0700)]
i965: Advertise GLSL 1.40 and TexBOs in core contexts
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Tue, 7 Aug 2012 19:46:22 +0000 (12:46 -0700)]
intel: Clean up bits of cruft in intelCreateContext
This and the previous three commits should probably be squashed together...
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 17 Aug 2012 16:32:59 +0000 (09:32 -0700)]
i965: Set context flags
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 17 Aug 2012 16:23:50 +0000 (09:23 -0700)]
mesa/dri: Allow creation of forward-compatible contexts
This is done by changing the API to API_OPENGL_CORE.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 22 Aug 2012 01:03:49 +0000 (18:03 -0700)]
mesa/es: Enable GL_OES_vertex_array_object
Functionally the same as GL_ARB_vertex_array_object.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Ian Romanick [Wed, 22 Aug 2012 00:57:22 +0000 (17:57 -0700)]
mesa: Enable GL_{ARB,APPLE}_vertex_array_object in all drivers
This is a purely software extension. The drivers don't need to do any
work to support it.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Ian Romanick [Sat, 18 Aug 2012 00:57:17 +0000 (17:57 -0700)]
meta: Don't use deprecated keyword in 1.30 shader
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Sat, 18 Aug 2012 00:15:06 +0000 (17:15 -0700)]
mesa: Disallow alpha, luminance, and LA textures in core context
Also disallow the 1, 2, 3, and 4 formats.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Sat, 18 Aug 2012 00:14:47 +0000 (17:14 -0700)]
mesa: Disallow more deprecated functions in core context
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Sat, 18 Aug 2012 00:14:02 +0000 (17:14 -0700)]
mesa: Require names from Gen in core context
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Sat, 18 Aug 2012 00:12:39 +0000 (17:12 -0700)]
mesa: Allow NULL vertex pointer without a VBO
There is text in the OpenGL 3.x specs to explicitly allow this case.
Weird.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Sat, 18 Aug 2012 00:12:12 +0000 (17:12 -0700)]
mesa: Disallow VertexAttribPointer without a VAO in a core context
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 17 Aug 2012 23:08:40 +0000 (16:08 -0700)]
mesa: Disallow wide lines in forward compatible context
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 17 Aug 2012 23:03:06 +0000 (16:03 -0700)]
mesa: Only FRONT_AND_BACK is allowed for PolygonMode in core context
Page 407 (page 423 of the PDF) of the OpenGL 3.0 spec says (in the list
of deprecated functionality):
"Separate polygon draw mode - PolygonMode face values of FRONT and
BACK; polygons are always drawn in the same mode, no matter which
face is being rasterized."
Also modify meta to not use FRONT or BACK in a core context.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Paul Berry [Wed, 8 Aug 2012 18:56:33 +0000 (11:56 -0700)]
meta: Don't stray outside the confines of the API specified in the context
Signed-off-by: Paul Berry <stereotype441@gmail.com>
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 17 Aug 2012 21:32:43 +0000 (14:32 -0700)]
mesa: Don't allow display lists or evaluators in core context
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 17 Aug 2012 21:32:21 +0000 (14:32 -0700)]
mesa: Don't allow GL_EXTENSIONS query in core context
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 15 Aug 2012 15:45:03 +0000 (08:45 -0700)]
mesa: Non-sprite points are deprecated
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Eric Anholt [Thu, 9 Aug 2012 01:44:40 +0000 (18:44 -0700)]
mesa: Fix VAO deletion on GL 3.1 core.
We were calling through a dispatch table entry that was NULL, since the apple
variant is only on legacy desktop. Just call the function we mean instead of
indirecting through the dispatch.
Eric Anholt [Thu, 9 Aug 2012 01:29:14 +0000 (18:29 -0700)]
mesa: Enable a bunch of missing getters on 3.1 core.
NOTE: maybe I enabled too many?
Eric Anholt [Thu, 26 Jul 2012 22:10:04 +0000 (15:10 -0700)]
mesa: Expose texture buffer objects when the context is GL 3.1 core.
v2: Use API_OPENGL_CORE.
v3: Only require desktop GL. If a driver can't support TexBOs in a non-core
context, it should not enable them.
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Wed, 8 Aug 2012 18:47:15 +0000 (11:47 -0700)]
mesa: Allow PACK / UNPACK queries for ES2
These are part of the GL_EXT_unpack_subimage extension and ES 3.0.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Sat, 28 Jul 2012 22:20:48 +0000 (15:20 -0700)]
mesa: Kill ES2 wrapper functions
v2: Fix completely broken condition around ClearColorIiEXT and
ClearColorIuiEXT.
v3: Add special VertexAttrib handling for ES2.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 8 Aug 2012 20:37:45 +0000 (13:37 -0700)]
mesa: glGetVertexAttribPointerv is part of core profile and ES2
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Sat, 28 Jul 2012 00:43:22 +0000 (17:43 -0700)]
mesa/es: Validate glPointParameter pname in Mesa code rather than the ES wrapper
v2: Add proper core-profile filtering.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Ian Romanick [Sat, 28 Jul 2012 00:40:34 +0000 (17:40 -0700)]
mesa: Require OpenGL 2.0 for GL_POINT_SPRITE_COORD_ORIGIN
The comment in the code even says this is the right thing to do.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Ian Romanick [Sat, 28 Jul 2012 00:38:32 +0000 (17:38 -0700)]
mesa: Require that drivers supporting point sprites support point parameters
All drivers in Mesa do. This allows a lot of extension checking code to be
gutted from the function.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Ian Romanick [Sat, 28 Jul 2012 00:48:30 +0000 (17:48 -0700)]
mesa/es: Validate glGetTexEnv parameters in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Sat, 28 Jul 2012 00:22:42 +0000 (17:22 -0700)]
mesa/es: Validate glTexEnv parameters in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 23:47:27 +0000 (16:47 -0700)]
mesa/es: Validate glGetTexGen parameters in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 23:27:23 +0000 (16:27 -0700)]
mesa/es: Validate glTexGen parameters in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 23:13:02 +0000 (16:13 -0700)]
mesa/es: Validate glLightModel pname in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 23:07:19 +0000 (16:07 -0700)]
mesa/es: Validate glMaterial face and pname in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 22:57:09 +0000 (15:57 -0700)]
mesa/es: Validate glGetMaterial pname in Mesa code rather than the ES wrapper
Fixes a bug that glGetMaterial[fx]v in ES1 contexts would (try to) allow
queries of GL_AMBIENT_AND_DIFFUSE. This enum can only be used in glMaterial,
not in the get.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 22:49:50 +0000 (15:49 -0700)]
mesa/es: Validate glGetPointerv pname in Mesa code rather than the ES wrapper
v2: Add proper core-profile, GLES1, and GLES3 filtering.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 22:47:16 +0000 (15:47 -0700)]
mesa/es: Validate glMatrixMode mode in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 19:37:05 +0000 (12:37 -0700)]
mesa/es: Validate glFog pname in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 19:24:24 +0000 (12:24 -0700)]
mesa/es: Validate glReadPixels format and type in Mesa code rather than the ES wrapper
v2: Add proper GLES3 filtering.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 19:11:32 +0000 (12:11 -0700)]
mesa/es: Validate glPixelStore pname in Mesa code rather than the ES wrapper
v2: Add proper core-profile and GLES3 filtering.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 18:56:42 +0000 (11:56 -0700)]
mesa/es: Validate glEnable cap in Mesa code rather than the ES wrapper
Also handle glDisable, glIsEnabled, glEnableClientState, and
glDisableClientState.
v2: Add proper core-profile and GLES3 filtering.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 18:03:06 +0000 (11:03 -0700)]
mesa/es: Validate glHint target in Mesa code rather than the ES wrapper
v2: Add proper core-profile and GLES3 filtering.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 25 Jul 2012 23:21:49 +0000 (16:21 -0700)]
mesa/es: Validate glGetVertexAttribf pname in Mesa code rather than the ES wrapper
v2: Add proper core-profile and GLES3 filtering.
v3: Allow glGetVertexAttribfv(0, GL_CURRENT_VERTEX_ATTRIB_ARB, param) in
OpenGL 3.1, just like OpenGL ES 2.0.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 25 Jul 2012 22:39:50 +0000 (15:39 -0700)]
mesa/es: Validate glGetString pname in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 25 Jul 2012 14:15:29 +0000 (07:15 -0700)]
mesa/es: Validate primitive modes in Mesa code rather than the ES wrapper
v2: Add proper core-profile filtering.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 25 Jul 2012 14:12:33 +0000 (07:12 -0700)]
mesa: Refactor _mesa_valid_prim_mode to use a switch-statement
This makes the next change a bit easier.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 25 Jul 2012 02:52:53 +0000 (19:52 -0700)]
mesa/es: Validate blend function enums in Mesa code rather than the ES wrapper
v2: Add proper core-profile filtering.
v3: Allow GL_SRC_ALPHA_SATURATE as a destination factor in GLES3. Based
on review feedback from Eric Anholt.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Tue, 20 Sep 2011 23:39:30 +0000 (16:39 -0700)]
mesa/es: Validate glClear mask in Mesa code rather than the ES wrapper
Ian Romanick [Fri, 27 Jul 2012 15:31:12 +0000 (08:31 -0700)]
mesa/es: Validate glRenderbufferStorage internalFormat in Mesa code rather than the ES wrapper
v2: Add proper core-profile and GLES3 filtering.
v3: Allow GL_RGB10_A2UI in GLES3 based on review feedback from Eric
Anholt.
v4: Arg. Reject unsized RED and RG enums on GLES. More feedback from
Eric.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 14:49:49 +0000 (07:49 -0700)]
mesa/es: Validate glGetRenderbufferParameter pname in Mesa code rather than the ES wrapper
v2: Add proper core-profile and GLES3 filtering.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Ian Romanick [Fri, 27 Jul 2012 14:47:28 +0000 (07:47 -0700)]
mesa/es: Validate glGetFramebufferAttachmentParameter pname in Mesa code rather than the ES wrapper
v2: Add proper core-profile, GLES1, and GLES3 filtering.
v3: Fix the GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query when the
attachment type is GL_NONE on GLES3. Other cleanups. Based on review
feedback from Eric Anholt.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 14:24:37 +0000 (07:24 -0700)]
mesa/es: Validate glGenerateMipmap target in Mesa code rather than the ES wrapper
v2: Add proper core-profile and GLES3 filtering.
v3: Fix a typo in GL_TEXTURE_2D_ARRAY checking.
v4: Change !_mesa_is_desktop_gl tests to _mesa_is_gles test. The test
around GL_TEXTURE_2D_ARRAY got some other changes because that enum is
also available with GLES3 (which uses API_OPENGLES2). Based on review
feedback from Eric Anholt.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Fri, 27 Jul 2012 14:22:41 +0000 (07:22 -0700)]
mesa/es: Validate glFramebufferTexture2D textarget in Mesa code rather than the ES wrapper
v2: Add proper core-profile and GLES3 filtering.
v3: Change !_mesa_is_desktop_gl tests to _mesa_is_gles test. The test
around GL_TEXTURE_2D_ARRAY got some other changes because that enum is
also available with GLES3 (which uses API_OPENGLES2). Based on review
feedback from Eric Anholt.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tom Stellard [Wed, 29 Aug 2012 15:39:38 +0000 (11:39 -0400)]
radeon/llvm: Fix encoding of FP immediates on SI
Tom Stellard [Wed, 29 Aug 2012 14:33:58 +0000 (10:33 -0400)]
radeon/llvm: Create a register class for the M0 register
The Common Subexpression Elimination pass will not operate on
instructions with physical register defs, so we end up with
several redundant copies to M0 when using interpolation.
Adding a register class that only contains the M0 register allows
use to use a virtual register to represent M0, and makes it possible
for the Common Subexpression Elimination pass to remove the extra
copies.
Tom Stellard [Wed, 29 Aug 2012 14:20:24 +0000 (10:20 -0400)]
radeon/llvm: Set the neverHasSideEffects bit on more instructions
This flag makes these instructions candidates for the dead code
elimination and common subexpression elimination.
Tom Stellard [Wed, 29 Aug 2012 13:58:28 +0000 (09:58 -0400)]
radeon/llvm: Declare the interpolation intrinsics as ReadOnly
This signals to the Dead Code Elimination pass that it is safe to
remove these instructions when they are dead.
Tom Stellard [Tue, 28 Aug 2012 19:38:30 +0000 (15:38 -0400)]
radeon/llvm: Mark M0 as a def when lowering interpolation instructions
Anuj Phogat [Wed, 29 Aug 2012 18:13:55 +0000 (11:13 -0700)]
meta: Add GLSL variant of _mesa_meta_GenerateMipmap() function
This reduces the overhead of using the fixed function internally
in the driver.
V2: Use setup_glsl_generate_mipmap() and setup_ff_generate_mipmap()
functions to avoid code duplication.
Use glsl version when ARB_{vertex, fragmet}_shader are present.
Remove redundant code.
V3: Remove redundant border related code leaving the assertion.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Ian Romanick <idr@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Brian Paul [Wed, 29 Aug 2012 15:04:00 +0000 (09:04 -0600)]
glsl: s/class/struct/ for ast_type_qualifier
To silence an MSVC compiler warning about class vs. struct.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Brian Paul [Sat, 25 Aug 2012 12:50:40 +0000 (06:50 -0600)]
mesa: convert a few more macros to inline functions
Brian Paul [Sat, 25 Aug 2012 12:43:37 +0000 (06:43 -0600)]
mesa: remove COPY_4V_CAST() macro
Only used in one place, and not really needed.
Brian Paul [Sat, 25 Aug 2012 12:33:16 +0000 (06:33 -0600)]
mesa: convert a bunch of math macros to inline functions
Brian Paul [Sat, 25 Aug 2012 13:09:14 +0000 (07:09 -0600)]
tnl: use INTERP_4F() instead of four INTERP_F() calls
Brian Paul [Sat, 25 Aug 2012 13:08:10 +0000 (07:08 -0600)]
swrast: fix wrong assignments in _swrast_add_spec_terms_line()
Brian Paul [Tue, 28 Aug 2012 03:52:07 +0000 (21:52 -0600)]
mesa: test for GL_EXT_framebuffer_sRGB in glPopAttrib()
To avoid spurious GL_INVALID_ENUM errors if the extension isn't supported.
Martin Pieuchot [Wed, 29 Aug 2012 12:46:27 +0000 (14:46 +0200)]
mesa: Define CPU_TO_LE32 to work on OpenBSD
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Tue, 28 Aug 2012 15:47:30 +0000 (09:47 -0600)]
docs: remove mention of old driver maintenance
People who need old drivers can use older versions of Mesa.
Andreas Boll [Tue, 28 Aug 2012 15:31:52 +0000 (17:31 +0200)]
docs/utilities: add/update some useful utilities
the progs/util directory is now in mesa demos
replace glean with piglit
add ApiTrace
markup: replace the unordered list <ul> with a definition list <dl>
Signed-off-by: Brian Paul <brianp@vmware.com>
Eric Anholt [Sun, 26 Aug 2012 22:29:12 +0000 (15:29 -0700)]
i965: Disable the swrast context setup on GL 3.1 core.
I've reviewed the code, and the swrast callsites remaining are all in
drawpixels/copypixels/bitmap/accum, or _swrast_BlitFramebuffer that shouldn't
be hit. A piglit run with the context setup disabled on legacy GL and GLES2
showed regressions only in the copypixels and drawpixels tests.
If the context type is forced, this reduces the shader_runner maximum heap
size for glsl-algebraic-add-add-1.shader_test from 15,137,496b to 4,165,376b.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Sun, 26 Aug 2012 22:09:23 +0000 (15:09 -0700)]
i965: Replace general sw fallback support with a manual check for rendermode.
There were no other cases that set it any more.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Eric Anholt [Sun, 26 Aug 2012 22:15:44 +0000 (15:15 -0700)]
intel: Move RenderMode fallback func to i915 driver.
The Fallback field of the context struct doesn't work that way on i965, and
it's the only caller of FALLBACK() in the driver.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Eric Anholt [Sun, 26 Aug 2012 22:11:49 +0000 (15:11 -0700)]
i965: Drop the old sw fallback for position array being disabled.
This code has been in the driver since the first commit. I think it was
trying to stop rendering from happening with a disabled position array. Core
mesa has since had changes to deal with disabled position arrays correctly.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Eric Anholt [Sun, 26 Aug 2012 22:07:03 +0000 (15:07 -0700)]
i965: Drop support for forcing drawing through sw fallbacks.
It turns out it hasn't worked since at least 8.0.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Eric Anholt [Sun, 26 Aug 2012 21:43:52 +0000 (14:43 -0700)]
i965: Move depth resolve for span fallbacks to a simpler place.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
Eric Anholt [Sun, 26 Aug 2012 21:36:57 +0000 (14:36 -0700)]
i965: Drop manual hiz resolves in span rendering.
swrast uses MapRenderbuffer, which leads to intel_miptree_map, which does the
depth resolve.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
Michel Dänzer [Tue, 28 Aug 2012 13:59:30 +0000 (15:59 +0200)]
radeon/llvm: Handle TGSI KIL opcode for SI.
Fixes piglit fp-kil and glBitmap() with radeonsi.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Michel Dänzer [Tue, 28 Aug 2012 18:06:20 +0000 (20:06 +0200)]
radeon/llvm: Basic support for SI EXEC register.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Michel Dänzer [Fri, 24 Aug 2012 15:31:48 +0000 (17:31 +0200)]
radeonsi: Don't write to the PA_SC_RASTER_CONFIG register.
It should be initialized by the kernel as necessary.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Marek Olšák [Mon, 27 Aug 2012 00:08:37 +0000 (02:08 +0200)]
r600g: fix relative addressing on RS780 and RS880
They should be treated like RV670.
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Andreas Boll [Tue, 28 Aug 2012 15:28:20 +0000 (17:28 +0200)]
docs/helpwanted: add radeonsi todo list
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Andreas Boll [Tue, 28 Aug 2012 15:28:19 +0000 (17:28 +0200)]
configure.ac: add radeonsi to --with-gallium-drivers help string
the help string is used by ./configure --help
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>