Brian Paul [Tue, 4 Sep 2012 16:02:20 +0000 (10:02 -0600)]
mesa: fix DIFFERENT_SIGNS() function
Looks like converting this to a macro, returning bool, caused us to
lose the high (31st) bit result. Fixes piglit fbo-1d test. Strange
that none of the other tests I ran caught this.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=54365
Tested-by: Vinson Lee <vlee@freedesktop.org>
Vincent Lejeune [Tue, 4 Sep 2012 15:28:26 +0000 (17:28 +0200)]
radeon/llvm: do not convert f32 operand of select_cc node
v2:-use camel coding style
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Vincent Lejeune [Tue, 4 Sep 2012 15:29:48 +0000 (17:29 +0200)]
radeon/llvm: custom lowering for FP_TO_UINT when dst is i1 (bool)
v2:-wrap line at 80 characters
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Vincent Lejeune [Tue, 4 Sep 2012 15:04:28 +0000 (17:04 +0200)]
radeon/llvm: support setcc on f32
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Vincent Lejeune [Tue, 4 Sep 2012 15:04:27 +0000 (17:04 +0200)]
radon/llvm: br_cc f32 now lowered without cast
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Vincent Lejeune [Tue, 4 Sep 2012 14:49:25 +0000 (16:49 +0200)]
radeon/llvm: swap wrong OPCODE_IS_*_ZERO_* opcode and use
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Christian König [Thu, 30 Aug 2012 08:26:48 +0000 (10:26 +0200)]
winsys/radeon: create only one winsys for each fd
Fixing problems with GLAMOR.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Christian König [Wed, 29 Aug 2012 08:48:01 +0000 (10:48 +0200)]
radeonsi: stop big offsets from hanging the GPU v2
v2: rebased of radeon/llvm fix.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Christian König [Fri, 31 Aug 2012 11:59:14 +0000 (13:59 +0200)]
radeonsi: adjust PIPE_SHADER_CAP_MAX_CONSTS
So it matches what we really can do.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Christian König [Fri, 31 Aug 2012 11:49:06 +0000 (13:49 +0200)]
radeon/llvm: fix SelectADDR8BitOffset
The offset is unsigned, not signed.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
José Fonseca [Fri, 31 Aug 2012 16:01:50 +0000 (17:01 +0100)]
gallivm,llvmpipe: Use 4-wide vectors on AMD Bulldozer.
8-wide vectors is slower.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Brian Paul [Mon, 3 Sep 2012 14:12:04 +0000 (08:12 -0600)]
mesa: add missing return statements after recording errors
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Brian Paul [Mon, 3 Sep 2012 14:12:04 +0000 (08:12 -0600)]
mesa: remove more null pointer checks before free() calls
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Brian Paul [Mon, 3 Sep 2012 14:12:04 +0000 (08:12 -0600)]
mesa: remove null pointer checks before free() calls
Since free(NULL) is fine.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Brian Paul [Mon, 3 Sep 2012 18:19:15 +0000 (12:19 -0600)]
mesa: remove SQRTF, use sqrtf. Convert INV_SQRT() to inline function.
We were already defining sqrtf where we don't have the C99 version.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Vadim Girlin [Mon, 3 Sep 2012 20:18:13 +0000 (00:18 +0400)]
r600g: adjust QUANT_MODE for higher precision
Use 1/256 for R6xx/7xx, 1/4096 for evergreen, instead of default 1/16.
Helps to pass some piglit tests (fbo, multisample).
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Vinson Lee [Sat, 1 Sep 2012 06:30:35 +0000 (23:30 -0700)]
util: Add cpuid for Solaris Studio.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Ian Romanick [Fri, 31 Aug 2012 22:26:27 +0000 (15:26 -0700)]
meta: Don't save and restore fog state when there is no fog state
I wonder if the better solution is to have _mesa_meta_GenerateMipmap not
use MESA_META_ALL for the GLSL path. Even on compatibility profiles
there is no reason to save and restore fog on this path.
NOTE: This is a candidate for the 9.0 branch.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Lu Hua <huax.lu@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54295
Brian Paul [Mon, 3 Sep 2012 14:03:05 +0000 (08:03 -0600)]
mesa: remove accidentally committed __SUNPRO_C sqrtf() code
Christian König [Wed, 29 Aug 2012 11:41:47 +0000 (13:41 +0200)]
radeonsi: disable array-textures for now
Signed-off-by: Christian König <deathsimple@vodafone.de>
Christian König [Mon, 27 Aug 2012 15:36:08 +0000 (17:36 +0200)]
radeonsi: disable Z16 for now
It's causing crashes.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Christian König [Mon, 27 Aug 2012 09:14:26 +0000 (11:14 +0200)]
radeonsi: disable NPOT textures for now
Looks like we have an alignment issue with NPOT textures
and mipmaps. So disable NPOT textures until we figure out
what is going wrong here.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Christian König [Fri, 24 Aug 2012 10:55:34 +0000 (12:55 +0200)]
radeonsi: handle indirect constants gracefully
It's not supported yet, so at least don't try to crash the box.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Brian Paul [Sat, 1 Sep 2012 15:47:29 +0000 (09:47 -0600)]
radeon: fix free/FREE mistake
Brian Paul [Sat, 1 Sep 2012 15:03:24 +0000 (09:03 -0600)]
vega: include u_debug.h for assert()
Brian Paul [Sat, 1 Sep 2012 13:47:24 +0000 (07:47 -0600)]
mesa: s/FREE/free/
v2: replace instances in dri/common/ dirs
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Brian Paul [Sat, 1 Sep 2012 13:47:24 +0000 (07:47 -0600)]
mesa: s/CALLOC/calloc/
v2: replace instances in dri/common/ dirs
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Brian Paul [Sat, 1 Sep 2012 13:47:24 +0000 (07:47 -0600)]
mesa: s/MALLOC/malloc/
v2: replace instances in dri/common/ dirs
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Brian Paul [Fri, 31 Aug 2012 14:33:32 +0000 (08:33 -0600)]
util: remove u_debug.h from u_math.h
No debug code is used in u_math.h
Brian Paul [Fri, 31 Aug 2012 14:33:31 +0000 (08:33 -0600)]
util: include u_debug.h
Brian Paul [Fri, 31 Aug 2012 14:33:31 +0000 (08:33 -0600)]
tgsi: include u_debug.h
Brian Paul [Fri, 31 Aug 2012 14:33:31 +0000 (08:33 -0600)]
mesa: clean-up LOG2() function
Brian Paul [Fri, 31 Aug 2012 14:33:31 +0000 (08:33 -0600)]
mesa: move IS_NEGATIVE() and DIFFERENT_SIGNS() to macros.h
Brian Paul [Fri, 31 Aug 2012 14:33:31 +0000 (08:33 -0600)]
mesa: clean up F_TO_I, IFLOOR, ICEIL functions
Put all the #ifdef stuff inside the function bodies instead of outside.
Kenneth Graunke [Fri, 31 Aug 2012 08:00:15 +0000 (01:00 -0700)]
i965/fs: Don't use brw->fragment_program in calculate_urb_setup().
Reading brw->fragment_program is nonsensical in compiler code: it
contains the currently active program (if any), not the one currently
being compiled. Attempting to access it may either lead to crashes
(null pointer dereference if no program is active) or wrong results.
Fixes piglit regressions since
9ef710575b914ddfc8e9a162d98ad554c1c217f7
on pre-Sandybridge hardware. The actual bug was created in commit
7b1fbc688999fd568e65211d79d7678562061594.
NOTE: This is a candidate for the 9.0 and 8.0 branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54183
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Matt Turner [Fri, 31 Aug 2012 22:11:11 +0000 (15:11 -0700)]
build: Remove left over echo from GLU removal
Vadim Girlin [Fri, 31 Aug 2012 21:02:24 +0000 (01:02 +0400)]
mesa: don't wait in _mesa_ClientWaitSync if timeout is 0
From ARB_sync spec:
If the value of <timeout> is zero, then ClientWaitSync does not
block, but simply tests the current state of <sync>. TIMEOUT_EXPIRED
will be returned in this case if <sync> is not signaled, even though
no actual wait was performed.
Fixes random fails of the arb_sync-timeout-zero piglit test on r600g.
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Matt Turner [Thu, 23 Aug 2012 23:39:20 +0000 (16:39 -0700)]
Remove libGLU
It's been moved to its own repository, found at
http://cgit.freedesktop.org/mesa/glu/
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Jakob Bornecrantz [Fri, 31 Aug 2012 17:48:26 +0000 (19:48 +0200)]
dri: Rework planar image interface
As discussed with Kristian on #wayland. Pushes the decision of components into
the dri driver giving it greater freedom to allow t to implement YUV samplers
in hardware, and which mode to use.
This interface will also allow drivers like SVGA to implement YUV surfaces
without the need to sub-allocate and instead send 3 seperate buffers for each
channel, currently not implemented.
I have tested these changes on Gallium Svga. Scott tested them on both intel
and Gallium Radeon. Kristan and Pekka tested them on intel.
v2: Fix typo in dri2_from_planar.
v3: Merge in intel changes.
Tested-by: Scott Moreau <oreaus@gmail.com>
Tested-by: Pekka Paalanen <ppaalanen@gmail.com>
Tested-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Tom Stellard [Fri, 31 Aug 2012 15:29:49 +0000 (11:29 -0400)]
radeon/llvm: Rework how immediate operands are handled with SI
Immediate operands were previously handled in the CodeEmitter, but that
code was buggy and very confusing. This commit adds a pass that simplifies
the handling of immediate operands by spliting the loading of the
immediate into a sperate insruction that is bundled with the original.
Tom Stellard [Fri, 31 Aug 2012 14:48:49 +0000 (10:48 -0400)]
radeon/llvm: Fix typo in assert
Tom Stellard [Fri, 31 Aug 2012 14:46:56 +0000 (10:46 -0400)]
radeon/llvm: Fix isEG tablegen predicate
This predicate incorrectly included SI GPUs, so some Evergreen
instructions were being emmitted on SI.
Tom Stellard [Fri, 31 Aug 2012 13:59:00 +0000 (09:59 -0400)]
radeon/llvm: Add support for RCP instruction on SI
Tom Stellard [Thu, 30 Aug 2012 15:10:14 +0000 (11:10 -0400)]
radeon/llvm: Support AMDGPUfmin DAG node on SI
Tom Stellard [Thu, 30 Aug 2012 14:35:36 +0000 (10:35 -0400)]
radeonsi: Handle TGSI_SEMANTIC_PSIZE
The relevant POINT_SIZE registers are being set using the
pipe_rasterizer_state, so we just need to tell the shader compiler which
export type to use.
This fixes several of the glean glsl tests.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Tapani Pälli [Mon, 13 Aug 2012 13:47:52 +0000 (16:47 +0300)]
android: do not expose single buffered eglconfigs
On Android we want to add only double buffered configs for visuals.
Earlier implementation set the SurfaceType as 0 for single buffered
configs but driver still exposed these configs that were not compatible
with any egl surface type. This caused Khronos conformance test runs to
fail on Android. This patch fixes the issue by skipping single buffered
configs earlier and not exposing them.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Tapani Pälli [Mon, 13 Aug 2012 06:03:06 +0000 (09:03 +0300)]
android: fix liblog API changes
android logging macros changed their name in JellyBean.
Signed-off-by: Bruce E. Robertson <bruce.e.robertson@intel.com>
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Tapani Pälli [Tue, 5 Jun 2012 13:04:14 +0000 (16:04 +0300)]
xmlconfig: use __progname when building for Android
__progname symbol and strrchr are available with bionic.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Vinson Lee [Fri, 31 Aug 2012 15:23:28 +0000 (08:23 -0700)]
scons: Remove leftover print statement.
Remove print statement left over from commit
c57fb034b19156e06e2ec25d9b06a0e174d861c9.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Andreas Boll [Fri, 31 Aug 2012 14:53:25 +0000 (16:53 +0200)]
docs: update relnotes-9.0
Signed-off-by: Brian Paul <brianp@vmware.com>
Andreas Boll [Fri, 31 Aug 2012 14:43:56 +0000 (16:43 +0200)]
mesa: also bump version in Makefile.am and configure.ac to 9.0
Signed-off-by: Brian Paul <brianp@vmware.com>
Vinson Lee [Thu, 30 Aug 2012 06:16:44 +0000 (23:16 -0700)]
scons: Add default libraries to Solaris build.
Fixes SCons build on Solaris.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54293
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Thu, 30 Aug 2012 22:12:53 +0000 (16:12 -0600)]
st/mesa: s/CALLOC/calloc/ to fix allocation bug
The CALLOC() macro only takes one argument so this was being treated
as a comma expression. Simply use calloc() instead.
A follow-on patch will replace all CALLOC() calls with calloc().
NOTE: This is a candidate for the 8.0 and 9.0 branches.
Brian Paul [Thu, 30 Aug 2012 19:49:30 +0000 (13:49 -0600)]
util: add casts to silence signed/unsigned comparison warnings
Brian Paul [Thu, 30 Aug 2012 15:27:16 +0000 (09:27 -0600)]
mesa: fix-up and use _mesa_delete_renderbuffer()
_mesa_delete_renderbuffer() should free the mutex (though that may be a
no-op) and then free the renderbuffer object itself. Subclasses of
gl_renderbuffer can use this function too.
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Ian Romanick [Thu, 30 Aug 2012 22:22:37 +0000 (15:22 -0700)]
docs: Add some missing features to 9.0 release notes and GL3.txt
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Ian Romanick [Thu, 30 Aug 2012 20:55:02 +0000 (13:55 -0700)]
mesa: Bump version to 9.0
Now that OpenGL 3.1 is supported by at least one driver, follow
tradition and bump the major version number.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
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>