mesa.git
12 years agoradeonsi: Fix LLVM context leak.
Michel Dänzer [Wed, 15 Aug 2012 16:22:46 +0000 (18:22 +0200)]
radeonsi: Fix LLVM context leak.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agogallium/radeon: Don't assign virtual address space for BO that already has one.
Michel Dänzer [Wed, 15 Aug 2012 13:59:07 +0000 (15:59 +0200)]
gallium/radeon: Don't assign virtual address space for BO that already has one.

We'd end up re-using the old one and throwing away the new one anyway, but only
after a roundtrip to the kernel.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agogallium/radeon: Create hole for waste when allocating from va_offset.
Michel Dänzer [Wed, 15 Aug 2012 13:48:34 +0000 (15:48 +0200)]
gallium/radeon: Create hole for waste when allocating from va_offset.

Otherwise, the wasted area could never be used for an allocation again.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agogallium/radeon: Fix potential address space loss in radeon_bomgr_force_va().
Michel Dänzer [Thu, 26 Apr 2012 10:10:02 +0000 (12:10 +0200)]
gallium/radeon: Fix potential address space loss in radeon_bomgr_force_va().

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agogallium/radeon: Delete uppermost virtual address space hole if it's at the top.
Michel Dänzer [Thu, 26 Apr 2012 18:41:17 +0000 (20:41 +0200)]
gallium/radeon: Delete uppermost virtual address space hole if it's at the top.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agogallium/radeon: Fix losing holes when allocating virtual address space.
Michel Dänzer [Thu, 26 Apr 2012 09:44:11 +0000 (11:44 +0200)]
gallium/radeon: Fix losing holes when allocating virtual address space.

If a hole exactly matches the allocated size plus alignment, we would fail to
preserve the alignment as a hole. This would result in never being able to use
the alignment area for an allocation again.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agogallium/radeon: Merge holes when freeing virtual address space.
Michel Dänzer [Thu, 26 Apr 2012 13:26:01 +0000 (15:26 +0200)]
gallium/radeon: Merge holes when freeing virtual address space.

Otherwise we'll likely end up with an ever increasing amount of ever smaller
holes.

Requires keeping the list ordered wrt offsets.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agogallium/radeon: Make va_offset 64 bits wide.
Michel Dänzer [Fri, 3 Aug 2012 09:31:55 +0000 (11:31 +0200)]
gallium/radeon: Make va_offset 64 bits wide.

Otherwise we'd wrap around after 32 bits. The kernel currently limits GPU
virtual address space to 4GB anyway, but that will probably change sooner or
later, and this would result in confusing error messages when running out of
virtual address space even now.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agollvmpipe: Silence Coverity incorrect sizeof expression defect.
Vinson Lee [Sun, 12 Aug 2012 07:20:21 +0000 (00:20 -0700)]
llvmpipe: Silence Coverity incorrect sizeof expression defect.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
12 years agoscons: Add option to enable floating-point textures.
Vinson Lee [Sun, 12 Aug 2012 07:02:32 +0000 (00:02 -0700)]
scons: Add option to enable floating-point textures.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
12 years agoglx/dri2: add dri2 prime support.
Dave Airlie [Fri, 12 Mar 2010 06:09:23 +0000 (16:09 +1000)]
glx/dri2: add dri2 prime support.

This adds support for having libGL pick a different driver for prime support.

DRI_PRIME env var is set to the value retrieved from the server randr
provider calls, by the calling process. (generally DRI_PRIME=1 will be
the right answer).

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agoradeon/llvm: Enable if-cvt
Vincent Lejeune [Wed, 1 Aug 2012 20:49:44 +0000 (22:49 +0200)]
radeon/llvm: Enable if-cvt

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agoradeon/llvm: Add callbacks needed by if-cvt
Vincent Lejeune [Wed, 1 Aug 2012 20:49:43 +0000 (22:49 +0200)]
radeon/llvm: Add callbacks needed by if-cvt

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agoradeon/llvm: Lower branch/branch_cond into predicated jump
Vincent Lejeune [Wed, 1 Aug 2012 20:49:42 +0000 (22:49 +0200)]
radeon/llvm: Lower branch/branch_cond into predicated jump

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agoradeon/llvm: Add a predicated JUMP instruction
Vincent Lejeune [Wed, 1 Aug 2012 20:49:41 +0000 (22:49 +0200)]
radeon/llvm: Add a predicated JUMP instruction

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agoradeon/llvm: Support for predicate bit
Vincent Lejeune [Wed, 1 Aug 2012 20:49:40 +0000 (22:49 +0200)]
radeon/llvm: Support for predicate bit

Tom Stellard:
  - A few changes to predicate register defs

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agor600g: Glue to handle predicate aware output from llvm
Vincent Lejeune [Fri, 3 Aug 2012 22:15:51 +0000 (00:15 +0200)]
r600g: Glue to handle predicate aware output from llvm

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agor600g: Fix instruction group merge when there are predicated insts.
Vincent Lejeune [Wed, 1 Aug 2012 20:52:54 +0000 (22:52 +0200)]
r600g: Fix instruction group merge when there are predicated insts.

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agoradeon/llvm: Do not use PV/PS if PRED_SEL does not match
Vincent Lejeune [Wed, 1 Aug 2012 20:52:53 +0000 (22:52 +0200)]
radeon/llvm: Do not use PV/PS if PRED_SEL does not match

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agor600g: Add support for predicates
Vincent Lejeune [Wed, 1 Aug 2012 20:52:52 +0000 (22:52 +0200)]
r600g: Add support for predicates

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agoradeonsi: move ps sampler state into PM4 stream
Christian König [Sun, 12 Aug 2012 17:42:38 +0000 (19:42 +0200)]
radeonsi: move ps sampler state into PM4 stream

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeonsi: move ps sampler views into PM4 stream
Christian König [Sun, 12 Aug 2012 17:32:51 +0000 (19:32 +0200)]
radeonsi: move ps sampler views into PM4 stream

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeonsi: move vertex state descriptors into PM4 stream
Christian König [Sun, 12 Aug 2012 17:26:24 +0000 (19:26 +0200)]
radeonsi: move vertex state descriptors into PM4 stream

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeonsi: add shader data infrastructure
Christian König [Sun, 12 Aug 2012 17:16:48 +0000 (19:16 +0200)]
radeonsi: add shader data infrastructure

With this we can embed data for the shaders (like resource
descriptors) into the PM4 stream.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeon/llvm: add support to fetch temps as vectors
Christian König [Sun, 12 Aug 2012 18:06:21 +0000 (20:06 +0200)]
radeon/llvm: add support to fetch temps as vectors

Necessary for texture fetches with temp regs as source on SI.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeon/llvm: Remove AMDGPUUtil.cpp
Tom Stellard [Thu, 26 Jul 2012 19:20:14 +0000 (19:20 +0000)]
radeon/llvm: Remove AMDGPUUtil.cpp

12 years agoradeon/llvm: Cleanup AMDGPUUtil.cpp
Apostolos Bartziokas [Thu, 26 Jul 2012 19:00:20 +0000 (15:00 -0400)]
radeon/llvm: Cleanup AMDGPUUtil.cpp

12 years agoradeon/llvm: Lower loads from USE_SGPR adddress space during DAG lowering
Tom Stellard [Thu, 26 Jul 2012 14:30:23 +0000 (14:30 +0000)]
radeon/llvm: Lower loads from USE_SGPR adddress space during DAG lowering

12 years agoradeon/llvm: Add live-in registers during DAG lowering
Tom Stellard [Wed, 25 Jul 2012 19:17:16 +0000 (19:17 +0000)]
radeon/llvm: Add live-in registers during DAG lowering

Psuedo instructions emulating live-in registers have been removed
and their corresponding intrinsics are now being lowered during DAG
lowering.

12 years agoradeon/llvm: Lower store_output intrinsic during DAG lowering
Tom Stellard [Thu, 26 Jul 2012 17:10:47 +0000 (17:10 +0000)]
radeon/llvm: Lower store_output intrinsic during DAG lowering

12 years agoradeon/llvm: Force VTX_READ instructions to use same reg for src and dst
Tom Stellard [Wed, 15 Aug 2012 18:19:27 +0000 (18:19 +0000)]
radeon/llvm: Force VTX_READ instructions to use same reg for src and dst

I was seeing some GPU hangs that seemed to be cause by ALU instructions
writing to the same register used as the source for VTX_READ.  Adding
this constraint to the VTX_READ instructions avoids this situation.

12 years agoradeonsi: fix build breakage after u_blitter changes
Marek Olšák [Wed, 15 Aug 2012 18:03:23 +0000 (20:03 +0200)]
radeonsi: fix build breakage after u_blitter changes

12 years agogallium/u_blitter: document custom meta helpers
Marek Olšák [Mon, 13 Aug 2012 21:37:30 +0000 (23:37 +0200)]
gallium/u_blitter: document custom meta helpers

12 years agor600g: disable handling of DISCARD_RANGE
Marek Olšák [Wed, 15 Aug 2012 17:11:51 +0000 (19:11 +0200)]
r600g: disable handling of DISCARD_RANGE

https://bugs.freedesktop.org/show_bug.cgi?id=53130

12 years agor600g: implement timestamp query and get_timestamp hook
Marek Olšák [Thu, 5 Jul 2012 18:06:41 +0000 (20:06 +0200)]
r600g: implement timestamp query and get_timestamp hook

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agor600g: enable MSAA on evergreen by default
Marek Olšák [Thu, 9 Aug 2012 15:22:35 +0000 (17:22 +0200)]
r600g: enable MSAA on evergreen by default

v2: add the DRM version check

12 years agor600g: implement copying between MSAA textures
Marek Olšák [Thu, 9 Aug 2012 15:21:56 +0000 (17:21 +0200)]
r600g: implement copying between MSAA textures

12 years agor600g: implement MSAA color resolve
Marek Olšák [Thu, 9 Aug 2012 15:21:10 +0000 (17:21 +0200)]
r600g: implement MSAA color resolve

12 years agor600g: implement MSAA depth-stencil decompression and resolve
Marek Olšák [Thu, 9 Aug 2012 15:17:18 +0000 (17:17 +0200)]
r600g: implement MSAA depth-stencil decompression and resolve

and integer textures, which are resolved the same as depth, I think.

12 years agor600g: implement TXQ_LZ opcode
Marek Olšák [Thu, 9 Aug 2012 15:01:46 +0000 (17:01 +0200)]
r600g: implement TXQ_LZ opcode

12 years agor600g: implement MSAA rendering and texturing for evergreen and cayman
Marek Olšák [Thu, 9 Aug 2012 14:48:45 +0000 (16:48 +0200)]
r600g: implement MSAA rendering and texturing for evergreen and cayman

12 years agor600g: implement set_sample_mask
Marek Olšák [Sun, 22 Jul 2012 05:48:52 +0000 (07:48 +0200)]
r600g: implement set_sample_mask

12 years agor600g: implement alpha-to-coverage
Marek Olšák [Sun, 22 Jul 2012 04:36:58 +0000 (06:36 +0200)]
r600g: implement alpha-to-coverage

12 years agor600g: implement alpha-to-one
Marek Olšák [Fri, 3 Aug 2012 23:50:10 +0000 (01:50 +0200)]
r600g: implement alpha-to-one

12 years agor600g: remove support for 3-channel colorbuffers
Marek Olšák [Sat, 4 Aug 2012 12:29:25 +0000 (14:29 +0200)]
r600g: remove support for 3-channel colorbuffers

We have no sampler support for them.

12 years agoconfigure.ac: bump libdrm_radeon requirement to 2.6.38
Marek Olšák [Sun, 12 Aug 2012 15:18:23 +0000 (17:18 +0200)]
configure.ac: bump libdrm_radeon requirement to 2.6.38

12 years agowinsys/radeon: print error if CS is overflowed
Marek Olšák [Sat, 4 Aug 2012 18:02:30 +0000 (20:02 +0200)]
winsys/radeon: print error if CS is overflowed

and don't submit the CS to the kernel.

12 years agogallium/u_blitter: implement X and Y texture flipping
Marek Olšák [Sat, 4 Aug 2012 01:15:29 +0000 (03:15 +0200)]
gallium/u_blitter: implement X and Y texture flipping

12 years agogallium/u_blitter: implement blitting multisample resources
Marek Olšák [Wed, 25 Jul 2012 10:38:22 +0000 (12:38 +0200)]
gallium/u_blitter: implement blitting multisample resources

It can blit only one sample at a time (it should be called in a loop).

12 years agogallium: add TGSI support for multisample textures
Marek Olšák [Sat, 28 Jul 2012 11:29:02 +0000 (13:29 +0200)]
gallium: add TGSI support for multisample textures

The only allowed instructions are TXQ_LZ and TXF.

TXQ_LZ is like TXQ, but without the LOD parameter (which is always zero
with MSAA textures)

The 3rd or the 4th texcoord component in TXF should contain the sample index
for a 2D_MSAA or 2D_ARRAY_MSAA texture, respectively.

12 years agogallium/tgsi: fix TGSI text parser
Marek Olšák [Sat, 4 Aug 2012 17:11:44 +0000 (19:11 +0200)]
gallium/tgsi: fix TGSI text parser

The problem was that the string matching succeeded e.g. for "2D" when there
was actually "2D_MSAA" and then failed parsing "_MSAA".

To prevent similar failures in the future, let's fix this kind of error
everywhere.

12 years agogallium/u_blit: set dst format from pipe_resource, not pipe_surface
Marek Olšák [Sun, 5 Aug 2012 00:46:41 +0000 (02:46 +0200)]
gallium/u_blit: set dst format from pipe_resource, not pipe_surface

We use it to decide whether we can use resource_copy_region.

NOTE: This is a candidate for the 8.0 branch.

12 years agogallium: make pipe_box signed in order to represent flipped blits
Marek Olšák [Sat, 4 Aug 2012 01:14:14 +0000 (03:14 +0200)]
gallium: make pipe_box signed in order to represent flipped blits

This will be used by u_blitter.

12 years agost/mesa: don't clamp fragment color with integer colorbuffer
Marek Olšák [Sat, 4 Aug 2012 11:32:21 +0000 (13:32 +0200)]
st/mesa: don't clamp fragment color with integer colorbuffer

12 years agomesa: flush vertices in test_framebuffer_completeness
Marek Olšák [Sat, 4 Aug 2012 11:37:03 +0000 (13:37 +0200)]
mesa: flush vertices in test_framebuffer_completeness

12 years agost/egl: Fix up for ClientVersion -> ClientMajorVersion rename.
Michel Dänzer [Wed, 15 Aug 2012 08:49:22 +0000 (10:49 +0200)]
st/egl: Fix up for ClientVersion -> ClientMajorVersion rename.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53513

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoi965: add ARB_texture_rgb10_a2ui support
Jordan Justen [Sat, 9 Jun 2012 19:19:11 +0000 (12:19 -0700)]
i965: add ARB_texture_rgb10_a2ui support

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agometa: allow CopyTexSubImage on integer formats
Jordan Justen [Thu, 21 Jun 2012 16:40:47 +0000 (09:40 -0700)]
meta: allow CopyTexSubImage on integer formats

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa ReadPixels: handle signed/unsigned integer clamping
Jordan Justen [Mon, 25 Jun 2012 21:14:25 +0000 (14:14 -0700)]
mesa ReadPixels: handle signed/unsigned integer clamping

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa pack: handle packed integer formats with clamping
Jordan Justen [Tue, 10 Jul 2012 17:41:46 +0000 (10:41 -0700)]
mesa pack: handle packed integer formats with clamping

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa unpack: call _mesa_problem when unpack function is not available
Jordan Justen [Tue, 10 Jul 2012 18:07:54 +0000 (11:07 -0700)]
mesa unpack: call _mesa_problem when unpack function is not available

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa texstore: handle signed/unsigned integer clamping
Jordan Justen [Mon, 25 Jun 2012 21:16:11 +0000 (14:16 -0700)]
mesa texstore: handle signed/unsigned integer clamping

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa GetTexImage: handle signed/unsigned integer clamping
Jordan Justen [Mon, 25 Jun 2012 21:15:31 +0000 (14:15 -0700)]
mesa GetTexImage: handle signed/unsigned integer clamping

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa pack: handle uint and int clamping properly
Jordan Justen [Mon, 25 Jun 2012 21:08:37 +0000 (14:08 -0700)]
mesa pack: handle uint and int clamping properly

Rename _mesa_pack_rgba_span_int to _mesa_pack_rgba_span_from_uints.
Add _mesa_pack_rgba_span_from_ints.

These separate routines allow the integer clamping to be handled
properly for signed versus unsigned integers.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agointel: Fix rendering to a multisample front buffer
Chad Versace [Thu, 9 Aug 2012 16:24:29 +0000 (09:24 -0700)]
intel: Fix rendering to a multisample front buffer

We need to downsample before flushing BUFFER_FAKE_FRONT_LEFT to
BUFFER_FRONT_LEFT in intel_flush_front.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
12 years agointel: Clean up intel_flush_front
Chad Versace [Thu, 9 Aug 2012 16:21:21 +0000 (09:21 -0700)]
intel: Clean up intel_flush_front

Stop repeating ourselves. Replace the 4 instances of
`driContext->driDrawablePriv` with `driDrawable`.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
12 years agointel: Refactor intel_downsample_for_dri2_flush
Chad Versace [Thu, 9 Aug 2012 16:15:36 +0000 (09:15 -0700)]
intel: Refactor intel_downsample_for_dri2_flush

Move it from intel_screen.c to intel_context.c. Redeclare as non-static.
A future commit will use it in multiple files.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
12 years agodocs: Add EGL extensions to release notes
Ian Romanick [Tue, 14 Aug 2012 22:45:17 +0000 (15:45 -0700)]
docs: Add EGL extensions to release notes

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoegl: Allow OpenGL ES 3.0 as a version
Ian Romanick [Thu, 19 Jul 2012 23:12:13 +0000 (16:12 -0700)]
egl: Allow OpenGL ES 3.0 as a version

In the DRI2 back-end this will get the same API as GLES 2.0.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agodri2: Note that __DRI_API_GLES2 is also used for OpenGL ES 3.0
Ian Romanick [Wed, 18 Jul 2012 21:29:29 +0000 (14:29 -0700)]
dri2: Note that __DRI_API_GLES2 is also used for OpenGL ES 3.0

Unlike 1.x to 2.0, OpenGL ES 3.0 is backwards compatible with 2.0.  Use the
same API flag for both.  Applications that specifically want 3.0 will specify
this using the major / minor version attributes.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoegl_dri2: Add support for EGL_KHR_create_context and EGL_EXT_create_context_robustness
Ian Romanick [Thu, 19 Jul 2012 23:04:01 +0000 (16:04 -0700)]
egl_dri2: Add support for EGL_KHR_create_context and EGL_EXT_create_context_robustness

Just like in GLX, EGL_KHR_create_context requires DRI2 version >= 3, and
EGL_EXT_create_context_robustness requires both DRI2 version >= 3 and the
__DRI2_ROBUSTNESS extension.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoegl: Implement front-end support for EGL_EXT_create_context_robustness
Ian Romanick [Thu, 19 Jul 2012 22:08:06 +0000 (15:08 -0700)]
egl: Implement front-end support for EGL_EXT_create_context_robustness

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoegl: Implement front-end support for EGL_KHR_create_context
Ian Romanick [Thu, 19 Jul 2012 18:10:15 +0000 (11:10 -0700)]
egl: Implement front-end support for EGL_KHR_create_context

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoegl_dri2: Silence warnings about missing initializers
Ian Romanick [Thu, 19 Jul 2012 18:08:02 +0000 (11:08 -0700)]
egl_dri2: Silence warnings about missing initializers

egl_dri2.c: At top level:
egl_dri2.c:325:4: warning: missing initializer [-Wmissing-field-initializers]
egl_dri2.c:325:4: warning: (near initialization for 'swrast_driver_extensions[2].version') [-Wmissing-field-initializers]
egl_dri2.c:330:4: warning: missing initializer [-Wmissing-field-initializers]
egl_dri2.c:330:4: warning: (near initialization for 'swrast_core_extensions[1].version') [-Wmissing-field-initializers]

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoegl: Rename ClientVersion to ClientMajorVersion, add ClientMinorVersion
Ian Romanick [Wed, 18 Jul 2012 22:59:15 +0000 (15:59 -0700)]
egl: Rename ClientVersion to ClientMajorVersion, add ClientMinorVersion

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoegl_dri2: Use createContextAttribs if DRI2 version >= 3
Ian Romanick [Wed, 18 Jul 2012 21:41:28 +0000 (14:41 -0700)]
egl_dri2: Use createContextAttribs if DRI2 version >= 3

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoegl_dri2: Require DRI2 version 2
Ian Romanick [Wed, 18 Jul 2012 20:17:50 +0000 (13:17 -0700)]
egl_dri2: Require DRI2 version 2

The extra block in dri2_create_context is to prevent extra white space noise
in the next patch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agodri_util: Compare against the correct API enums
Ian Romanick [Tue, 7 Aug 2012 16:58:55 +0000 (09:58 -0700)]
dri_util: Compare against the correct API enums

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agomesa: Enable GL_ARB_invalidate_subdata
Ian Romanick [Mon, 13 Aug 2012 20:17:33 +0000 (13:17 -0700)]
mesa: Enable GL_ARB_invalidate_subdata

v2: Add GL_ARB_invalidate_subdata to release notes at Brian's
suggestion.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa: Add skeleton implementations of glInvalidateTex{Sub,}Image
Ian Romanick [Mon, 13 Aug 2012 20:14:25 +0000 (13:14 -0700)]
mesa: Add skeleton implementations of glInvalidateTex{Sub,}Image

These are part of GL_ARB_invalidate_subdata (but not OpenGL ES 3.0).

v2: Add comment explaining why minimum dimensions are set to 1 for some
texture targets.  Add default case to switch statement to silence
compiler warnings and detect new texture targets.  Both changes
suggested by Brian.  Also use _mesa_is_desktop_gl as suggested by Ken.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agomesa: Add skeleton implementations of glInvalidateBuffer{Sub,}Data
Ian Romanick [Mon, 13 Aug 2012 17:27:33 +0000 (10:27 -0700)]
mesa: Add skeleton implementations of glInvalidateBuffer{Sub,}Data

These are part of GL_ARB_invalidate_subdata (but not OpenGL ES 3.0).

v2: Use _mesa_bufferobj_mapped instead of testing
gl_buffer_object::Pointer as suggested by Brian.  Also use
_mesa_is_desktop_gl as suggested by Ken.

v3: Add a comment by the map subrange / discard range overlap test and
fix an off-by-one error noticed by Ken.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agomesa/es: Pass context to _mesa_init_bufferobj_dispatch
Ian Romanick [Mon, 13 Aug 2012 17:23:22 +0000 (10:23 -0700)]
mesa/es: Pass context to _mesa_init_bufferobj_dispatch

With this change _mesa_init_bufferobj_dispatch won't set function
pointers that don't exist in OpenGL ES.

v2: Use _mesa_is_desktop_gl and _mesa_is_gles3 as suggested by Ken.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agomesa: Add skeleton implementations of glInvalidate{Sub,}Framebuffer
Ian Romanick [Mon, 13 Aug 2012 16:27:00 +0000 (09:27 -0700)]
mesa: Add skeleton implementations of glInvalidate{Sub,}Framebuffer

These are part of GL_ARB_invalidate_subdata and OpenGL ES 3.0.

v2: Reject aux buffers in core context, and use _mesa_is_desktop_gl and
_mesa_is_gles3.  Both suggested by Ken.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglapi: Add GL_ARB_invalidate_subdata
Ian Romanick [Mon, 13 Aug 2012 20:15:24 +0000 (13:15 -0700)]
glapi: Add GL_ARB_invalidate_subdata

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa/es3: Add _mesa_is_gles3 predicate
Ian Romanick [Tue, 14 Aug 2012 20:24:00 +0000 (13:24 -0700)]
mesa/es3: Add _mesa_is_gles3 predicate

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agointel: Implement ARB_texture_storage
Ian Romanick [Sat, 11 Aug 2012 04:31:57 +0000 (21:31 -0700)]
intel: Implement ARB_texture_storage

This is basically cut-and-paste from the swrast implementation, and it
could probably be (slightly) more optimal.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agomesa: update glext.h to version 83
Ian Romanick [Sat, 11 Aug 2012 04:47:04 +0000 (21:47 -0700)]
mesa: update glext.h to version 83

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agobuild: Use MKDIR_P in src/mesa/Makefile.am
Matt Turner [Wed, 1 Aug 2012 21:26:41 +0000 (14:26 -0700)]
build: Use MKDIR_P in src/mesa/Makefile.am

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agobuild: Use AM_V_GEN in src/mesa/Makefile.am
Matt Turner [Wed, 1 Aug 2012 21:24:31 +0000 (14:24 -0700)]
build: Use AM_V_GEN in src/mesa/Makefile.am

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agobuild: Fix autogen.sh to allow out-of-tree builds
Matt Turner [Wed, 1 Aug 2012 21:11:31 +0000 (14:11 -0700)]
build: Fix autogen.sh to allow out-of-tree builds

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agobuild: Fix out-of-tree generation of builtin_function.cpp
Matt Turner [Wed, 1 Aug 2012 21:09:22 +0000 (14:09 -0700)]
build: Fix out-of-tree generation of builtin_function.cpp

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agobuild: Fix gtest out-of-tree build
Matt Turner [Wed, 1 Aug 2012 21:07:00 +0000 (14:07 -0700)]
build: Fix gtest out-of-tree build

Introduced by 3d000e7dd.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agobuild: Fix out-of-tree generation of api_exec_es{1,2}.c
Matt Turner [Wed, 1 Aug 2012 21:05:36 +0000 (14:05 -0700)]
build: Fix out-of-tree generation of api_exec_es{1,2}.c

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agobuild/sources.mak: Add src/glsl/glcpp to INCLUDE_DIRS
Matt Turner [Wed, 1 Aug 2012 21:02:23 +0000 (14:02 -0700)]
build/sources.mak: Add src/glsl/glcpp to INCLUDE_DIRS

Fixes problem where libdricore's of-out-tree build couldn't find
glcpp.h.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agobuild/sources.mak: Remove unused GLSL_LIBS
Matt Turner [Wed, 1 Aug 2012 21:01:12 +0000 (14:01 -0700)]
build/sources.mak: Remove unused GLSL_LIBS

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agomesa: Kill GL_ARB_shadow_ambient with fire
Ian Romanick [Sat, 11 Aug 2012 02:16:37 +0000 (19:16 -0700)]
mesa: Kill GL_ARB_shadow_ambient with fire

No driver supports this extension, and it seems unlikely than any driver
ever will.  I think r300c may have supported it at one time, but that
driver has already been removed.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
12 years agoradeon/llvm: Inline immediate offset when lowering implicit parameters
Tom Stellard [Wed, 1 Aug 2012 16:20:20 +0000 (16:20 +0000)]
radeon/llvm: Inline immediate offset when lowering implicit parameters

12 years agoradeon/llvm: Use correct opcocde for BREAK_LOGICALNZ_i32
Tom Stellard [Mon, 13 Aug 2012 21:29:46 +0000 (21:29 +0000)]
radeon/llvm: Use correct opcocde for BREAK_LOGICALNZ_i32

12 years agoscons: Populate top_srcdir and top_builddir variables when reading Makefiles.sources.
José Fonseca [Tue, 14 Aug 2012 11:18:45 +0000 (12:18 +0100)]
scons: Populate top_srcdir and top_builddir variables when reading Makefiles.sources.

This is not entirely correct, as scons doesn't put binaries in a
"src" subdirectory, but doesn't seem to be a problem for now.

12 years agomesa: Use GLdouble for depthMax in final unpack conversions.
Kenneth Graunke [Mon, 13 Aug 2012 07:35:41 +0000 (00:35 -0700)]
mesa: Use GLdouble for depthMax in final unpack conversions.

The final step of _mesa_unpack_depth_span is to take the temporary
GLfloat depth values and convert them to the desired format.  When
converting to GL_UNSIGNED_INTEGER with depthMax > 0xffffff, we use
double-precision math to avoid overflow and precision problems.

Or at least that's the idea.  Unfortunately

   GLdouble z = depthValues[i] * (GLfloat) depthMax;

actually causes single-precision multiplication, since both operands are
GLfloats.  Casting depthMax to GLdouble causes the scaling to be done
with double-precision math.

Fixes a regression in oglconform's depth-stencil basic.read.ds test
since c60ac7b17993d28af65b04f9bbbf3ee74c35358c, where the expected and
actual values differed slightly.  For example, 0xcfa7a6 vs. 0xcfa7a4.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49772
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>