OSDN Git Service
Brian Paul [Tue, 31 Jan 2012 14:01:29 +0000 (07:01 -0700)]
vega: memset data array to zero to silence uninitialized var warnings
(cherry picked from commit
6386f80dbd6f1230abf16fa5ac65dc0dca70033a)
Brian Paul [Tue, 24 Jan 2012 18:15:43 +0000 (11:15 -0700)]
softpipe: move var initialization to silence warning
(cherry picked from commit
3e01c3f3baee82524e23107aecb2de4c7ee8b978)
Vinson Lee [Mon, 16 Jan 2012 21:02:03 +0000 (13:02 -0800)]
softpipe: Silence unused variable warning on non-LLVM builds.
Fix this GCC warning with non-LLVM builds.
sp_screen.c: In function ‘softpipe_get_shader_param’:
sp_screen.c:141:28: warning: unused variable ‘sp_screen’ [-Wunused-variable]
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit
8e543cc09862abb57e9d4dafe12e20a49972987b)
Benjamin Franzke [Sun, 29 Jan 2012 16:28:50 +0000 (17:28 +0100)]
st/dri: Support 24bit formats in dri2_allocate_buffer
Prior commit
576161289df68eedade591fbca4013329c9e5ded,
the parameter format was bpp, thus both 24bit and 32bit formats were
requested with format set to 32. Handle 24bit seperately now.
Fixes RGBX formats in wayland platform for egl_dri2 (EGL_ALPHA_SIZE=0).
Note: This is a candidate for the 8.0 branch.
(cherry picked from commit
c72d7df16879e3210946ba92a7edc823815b6f16)
Christian König [Tue, 24 Jan 2012 11:19:59 +0000 (12:19 +0100)]
st/xvmc: remove xorg-server dependency
Fixing a circular build dependency.
NOTE: This is a candidate for the 8.0 branch.
Signed-off-by: Christian König <deathsimple@vodafone.de>
(cherry picked from commit
c2e2b58a58880c9b9f189fc154205e99144e9502)
Ian Romanick [Sat, 28 Jan 2012 01:45:49 +0000 (17:45 -0800)]
mesa: Bump version number to 8.0-rc2
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Kenneth Graunke [Thu, 26 Jan 2012 13:38:28 +0000 (05:38 -0800)]
i965/vs: Use the sampler for VS pull constant loading on Ivybridge.
Substantially increases performance in GLBenchmark PRO:
- 320x240 => 3.28x
- 1920x1080 => 1.47x
- 2560x1440 => 1.27x
The LD message ignores the sampler unit index and SAMPLER_STATE pointer,
instead relying on hard-wired default state. Thus, there's no need to
worry about running out of sampler units or providing SAMPLER_STATE;
this small patch should be all that's required.
NOTE: This is a candidate for release branches.
(It requires the preceding commit to compile.)
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit
259b65e2e7938de4aab323033cfe2b33369ddb07)
Kenneth Graunke [Thu, 26 Jan 2012 13:33:19 +0000 (05:33 -0800)]
i965: Expose brw_set_sampler_message for use outside brw_eu_emit.c.
brw_SAMPLE is full of complex workarounds for original Broadwater
hardware, and I'd rather avoid all that for my next Ivybridge patch.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit
5f4575d42fdaaf671d4b3cdcf2c733ad9d35d339)
Paul Berry [Mon, 9 Jan 2012 23:36:27 +0000 (15:36 -0800)]
i965: Set pitch of pull constant buffers to 16.
We always access pull constant buffers using the message types "OWord
Block Read" or "OWord Dual Block Read". According to the Sandy Bridge
PRM, Vol 4 Part 1, pages 214 and 218, when using these messages:
"the surface pitch is ignored, the surface is treated as a
1-dimensional surface. An element size (pitch) of 16 bytes is
used to determine the size of the buffer for out-of-bounds
checking if using the surface state model."
Previously we were setting the pitch for pull constant buffers to the
size of the whole constant buffer--this made no sense and would have
led to incorrect behavior if it were not for the fact that the pitch
is ignored.
For clarity, this patch sets the pitch for pull constant buffers to 16
bytes, consistent with the hardware's behavior.
v2: Clarify the meaning of the ignored values by writing them as (16 - 1).
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit
fcd5af4a916b4ba7860ba27eb47404934bde0d08)
Ian Romanick [Sat, 21 Jan 2012 01:23:02 +0000 (17:23 -0800)]
mesa: Don't resurrect deleted ARB VAOs in glPopClientAttrib
When ARB VAOs are used, glPopClientAttrib does not resurrect a deleted
VAO or VBO. This difference between the two spec is, unfortunately,
not very well spelled out in the specs.
Fixes oglc vao(advanced.pushPop.deleteVAO) and
vao(advanced.pushPop.deleteVBO) tests.
NOTE: This is a candidate for release branches.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit
34c353ce463960afdf64fa2be1f155b8b7f6c70c)
Ian Romanick [Mon, 23 Jan 2012 22:22:38 +0000 (14:22 -0800)]
mesa: Rename gl_array_object::VBOonly to ::ARBsemantics
There are more differences between Apple and ARB than just requiring
that all arrays be stored in VBOs. Additional uses will be added in
following commits.
Also, set the flag at Bind time instead of Gen time. The ARB_vao spec
specifies that behavior.
NOTE: This is a candidate for release branches.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit
09639901530da7df7347428512c2bee86af1ef8e)
Ian Romanick [Fri, 20 Jan 2012 01:29:37 +0000 (17:29 -0800)]
swrast: Use fixed-function processing instead _TexEnvProgram for DrawPixels
This is a hack to work around drivers such as i965 that:
- Set _MaintainTexEnvProgram to generate GLSL IR for
fixed-function fragment processing.
- Don't call _mesa_ir_link_shader to generate Mesa IR from the
GLSL IR.
- May use swrast to handle glDrawPixels.
Since _mesa_ir_link_shader is never called, there is no Mesa IR to
execute. Instead do regular fixed-function processing.
Even on platforms that don't need this, the software fixed-function
code is much faster than the software shader code.
NOTE: This is a candidate for the 8.0 branch.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44749
(cherry picked from commit
9be3be3c6654da18466626c2d45ff4d06b5fb953)
Ian Romanick [Fri, 20 Jan 2012 01:23:51 +0000 (17:23 -0800)]
mesa: Make sure _TexEnvProgram points at the current ff fragment program
At least one place, the _mesa_need_secondary_color function in
state.h, uses this to make decisions. The next patch in this series
will add another dependency. Ideally, this field would go away and be
replace by a flag or something.
NOTE: This is a candidate for the 8.0 branch.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit
34db7a8c1e775aaefad7952133e087f1c1a569f6)
Brian Paul [Tue, 24 Jan 2012 20:32:13 +0000 (13:32 -0700)]
swrast: fix uninitialized variable warning
(cherry picked from commit
ba151a333be7a23266b23ee6f65669bb19221546)
Brian Paul [Tue, 24 Jan 2012 20:29:05 +0000 (13:29 -0700)]
swrast: make rowStride variable signed in put_z32_values()
As with commit
aed5c8299fe47b8e1728f8140d069bc89d3fa947
(cherry picked from commit
cf386f0a2ba3efcfd6ddbfcbebaf98a9bfa7a29f)
Brian Paul [Thu, 19 Jan 2012 00:47:32 +0000 (17:47 -0700)]
intel: use swrast code to map/unmap renderbuffers for swrast rendering
(cherry picked from commit
89bb19adb08caaefc01e613e9bbfbdd1f366ddab)
Brian Paul [Thu, 19 Jan 2012 00:39:33 +0000 (17:39 -0700)]
mesa: update comments, fix whitespace in dd.h
(cherry picked from commit
4baf90353dee771e553c552674616b93aedeaecf)
Brian Paul [Thu, 19 Jan 2012 00:39:33 +0000 (17:39 -0700)]
swrast: remove unused StoreTexel code
No longer needed since we do all rendering to texture with the buffer
mapping and pixel packing functions.
(cherry picked from commit
9403cc3aba0769dc6925cea3ec20aa95d491f516)
Brian Paul [Thu, 19 Jan 2012 00:39:33 +0000 (17:39 -0700)]
swrast: use Map/UnmapTextureImage() in framebuffer map/unmap code
When we're actually rendering into a texture, map the texture image
instead of the corresponding renderbuffer. Before, we just copied
a pointer from the texture image to the renderbuffer. This change
will make the code usable by hardware drivers.
(cherry picked from commit
1caf698191fb871850311353862eb7fc927f9f9c)
Brian Paul [Mon, 16 Jan 2012 20:06:03 +0000 (13:06 -0700)]
mesa: remove ctx->Driver.Map/UnmapTexture() hooks
No longer used anywhere.
(cherry picked from commit
56d83ac4bf0267982554f25c6fdb3c1dd6e14a9c)
Brian Paul [Mon, 16 Jan 2012 20:05:59 +0000 (13:05 -0700)]
nouveau: stop calling ctx->Driver.Map/UnmapTexture()
And remove unused nouveau_texture_map/unmap()
(cherry picked from commit
8b8a54afd9b748b7250993393864544ad6961edb)
Brian Paul [Mon, 16 Jan 2012 20:05:55 +0000 (13:05 -0700)]
tnl: remove ctx->Driver.Map/UnmapTexture() calls
ctx->Driver.MapTexture() always points to _swrast_map_texture().
We're already reaching into swrast from t_vb_program.c anyway.
This will let us remove the ctx->Driver.Map/UnmapTexture() functions.
(cherry picked from commit
4bbab2275f792553f8ed6bcebfe6acc4cb4179c2)
Brian Paul [Mon, 16 Jan 2012 20:05:49 +0000 (13:05 -0700)]
swrast: move some renderbuffer functions to s_renderbuffer.c
(cherry picked from commit
bde356a1580f52cae0aaca020a33a6437083a450)
Brian Paul [Mon, 16 Jan 2012 20:05:44 +0000 (13:05 -0700)]
intel: remove intel_span_supports_format()
It always returned True.
(cherry picked from commit
1839a7fc9faae81d32ffc0cdc908b933f4524e28)
Brian Paul [Mon, 16 Jan 2012 20:05:41 +0000 (13:05 -0700)]
swrast: remove a few extra _mesa_get_format_bytes() calls
(cherry picked from commit
6c1e27ba219e41ae2641cca0d3c67462bdba8631)
Brian Paul [Mon, 16 Jan 2012 20:05:36 +0000 (13:05 -0700)]
mesa: update comments for gl_renderbuffer
(cherry picked from commit
1da7d6c919e9a6d756b208caa6685bfa1146b543)
Brian Paul [Mon, 16 Jan 2012 20:05:07 +0000 (13:05 -0700)]
mesa/swrast/drivers: remove obsolete gl_renderbuffer fields
This removes the last of the legacy fields from gl_renderbuffer.
(cherry picked from commit
1888dd52a32e114e7b3796db5a6b44921a2e04d4)
Brian Paul [Mon, 16 Jan 2012 20:03:28 +0000 (13:03 -0700)]
dri/swrast: use swrast_renderbuffer type
(cherry picked from commit
becbb643135ddccac5054bf138ca0cc7cc3fff15)
Brian Paul [Mon, 16 Jan 2012 20:02:19 +0000 (13:02 -0700)]
swrast: use swrast_renderbuffer instead of gl_renderbuffer
(cherry picked from commit
0c1862851f27c428a18ba5509636efcc2f0084f8)
Brian Paul [Mon, 16 Jan 2012 20:01:35 +0000 (13:01 -0700)]
osmesa: use swrast_renderbuffer
(cherry picked from commit
797c18be1f907337ebd85b18ce43dfa0b056f492)
Brian Paul [Mon, 16 Jan 2012 19:52:21 +0000 (12:52 -0700)]
radeon: derive radeon_renderbuffer from swrast_renderbuffer
(cherry picked from commit
c080202db5363a18a759a9a7c82b40ac558c8abe)
Brian Paul [Mon, 16 Jan 2012 19:40:01 +0000 (12:40 -0700)]
intel: derive intel_renderbuffer from swrast_renderbuffer
Drivers that rely on swrast need to do this, as with swrast_texture_image.
(cherry picked from commit
9f8ed9d66298e2dc5dff508e3ea723469fe06d93)
Brian Paul [Mon, 16 Jan 2012 19:35:49 +0000 (12:35 -0700)]
xlib: derive xmesa_renderbuffer from swrast_renderbuffer
(cherry picked from commit
d16e71eeb47d1e67930f6e86a80dc926468224d9)
Brian Paul [Mon, 16 Jan 2012 19:35:45 +0000 (12:35 -0700)]
swrast: allocate swrast_renderbuffers instead of gl_renderbuffers
(cherry picked from commit
f2479530b8be3866c234ac759a7fa84e634dd1aa)
Brian Paul [Mon, 16 Jan 2012 19:29:15 +0000 (12:29 -0700)]
swrast: new swrast_renderbuffer type
This will let us move the swrast-specific fields out of gl_renderbuffer.
(cherry picked from commit
34988272d9c7a889a26bb8bdcb841d44797a5dd6)
Brian Paul [Mon, 16 Jan 2012 19:29:11 +0000 (12:29 -0700)]
intel: use intel_rb_format() to get renderbuffer format
This will make future changes cleaner and less invasive.
(cherry picked from commit
924de7dc96f4607cb3d833637b5f69f4b9e2a6d0)
Brian Paul [Mon, 16 Jan 2012 19:29:04 +0000 (12:29 -0700)]
dri/swrast: rename swrast_renderbuffer to dri_swrast_renderbuffer
To prevent name collision with future swrast_renderbuffer in the swrast
module.
(cherry picked from commit
1048d55d5fa60d17dd99ac7394ff0572500625f9)
Brian Paul [Mon, 16 Jan 2012 19:28:59 +0000 (12:28 -0700)]
swrast: use stencil packing function in s_stencil.c
(cherry picked from commit
c45771905f237d9285465dfce955440582ee51e5)
Brian Paul [Mon, 16 Jan 2012 19:28:56 +0000 (12:28 -0700)]
swrast: use color packing functions in s_span.c
(cherry picked from commit
881ef2a9db22cff4c7d07b873d23b0c324da555a)
Brian Paul [Mon, 16 Jan 2012 19:28:51 +0000 (12:28 -0700)]
swrast: remove s_spantemp.h
(cherry picked from commit
8696a5210289166ce39d765d771258258400e876)
Brian Paul [Mon, 16 Jan 2012 19:28:47 +0000 (12:28 -0700)]
xlib: remove xm_span.c and related code
(cherry picked from commit
b0f0d7a8118401b209c674804255b5fd9e8c94c0)
Brian Paul [Mon, 16 Jan 2012 19:28:42 +0000 (12:28 -0700)]
mesa: remove gl_renderbuffer::Wrapped
There's no such thing as renderbuffer wrappers anymore.
(cherry picked from commit
59a5b5a193d5d9c5776aa586b34657b6e315479d)
Brian Paul [Mon, 16 Jan 2012 19:27:50 +0000 (12:27 -0700)]
swrast: rewrite, simplify the the render-to-texture code
(cherry picked from commit
ab331140c68d1c157e69ea8e53b44729355fa43c)
Brian Paul [Mon, 16 Jan 2012 19:10:46 +0000 (12:10 -0700)]
mesa: rename gl_renderbuffer::Data to Buffer
To better indicate that this pointer to the malloc'd memory.
(cherry picked from commit
7a36345f70a0b8ac2d480bb52eb2c74c2be5a978)
Brian Paul [Mon, 16 Jan 2012 19:15:40 +0000 (12:15 -0700)]
mesa: move freeing of software renderbuffers into swrast
(cherry picked from commit
f6a3979a0444a14c198c10501e9ff13f24625443)
Brian Paul [Mon, 16 Jan 2012 19:03:09 +0000 (12:03 -0700)]
mesa: remove gl_renderbuffer::DataType
(cherry picked from commit
f9874feef4d8952df5054bd8e8f4e0deda4ef44f)
Brian Paul [Mon, 16 Jan 2012 18:48:18 +0000 (11:48 -0700)]
mesa: remove gl_renderbuffer:RowStride field
(cherry picked from commit
1e1b5cb01a10e39d01923e3c7e989c44210950cd)
Brian Paul [Mon, 16 Jan 2012 18:32:12 +0000 (11:32 -0700)]
mesa: finally, remove the GetRow/PutRow/etc functions
(cherry picked from commit
82846fea4d042466ccfd5b3c86d98e856086cc05)
Brian Paul [Mon, 16 Jan 2012 18:30:03 +0000 (11:30 -0700)]
dri: remove all the obsolete spantmp files
(cherry picked from commit
304f7a132741a528ca6e861a918ef59991874e5f)
Brian Paul [Mon, 16 Jan 2012 18:29:58 +0000 (11:29 -0700)]
radeon: remove obsolete GetRow/PutRow code
(cherry picked from commit
a4c6dedb27897ae1340983b5d12927e0a9fb2212)
Brian Paul [Mon, 16 Jan 2012 18:29:53 +0000 (11:29 -0700)]
nouveau: remove obsolete GetRow/PutRow code
(cherry picked from commit
f892debdc21d12c40d2b69b4e9efdf527672d3ec)
Brian Paul [Mon, 16 Jan 2012 18:29:35 +0000 (11:29 -0700)]
intel: remove most of the span Get/PutRow code
(cherry picked from commit
41869c49421141807ab71cabca4c8a07611f6a64)
Brian Paul [Mon, 16 Jan 2012 18:28:15 +0000 (11:28 -0700)]
dri/swrast: remove obsolete GetRow/PutRow code
This is a squash of:
dri/swrast: remove obsolete GetRow/PutRow code
(cherry picked from commit
cb5fa9ea624574909bf57f9e1ad190a440d59dc2)
and
dri/swrast: remove obsolete swrast_span.c file from source list
(cherry picked from commit
a9bf149e7f699d05bcf31dff54c4b4cf78018dd0)
Conflicts:
src/mesa/drivers/dri/swrast/Makefile.sources
Brian Paul [Mon, 16 Jan 2012 18:28:02 +0000 (11:28 -0700)]
osmesa: remove obsolete GetRow/PutRow code
(cherry picked from commit
2873555a76a7358db053c3a7b121b489f8df9bb1)
Brian Paul [Mon, 16 Jan 2012 18:24:18 +0000 (11:24 -0700)]
xlib: remove obsolete GetRow/PutRow code
(cherry picked from commit
2e80c7e5bf822e3b9efd145d33badcf4f14504ff)
Brian Paul [Mon, 16 Jan 2012 18:24:09 +0000 (11:24 -0700)]
mesa: remove obsolete PutRow, etc assignments
(cherry picked from commit
0d2f0c8bb86b8dfcb6f0be7bf027fe725007bc5f)
Brian Paul [Fri, 13 Jan 2012 01:33:09 +0000 (18:33 -0700)]
swrast: remove Get/PutRow()-related code
(cherry picked from commit
d65bbfa947b9e2c5353bda857470a01d5398b3fa)
Brian Paul [Mon, 16 Jan 2012 18:38:46 +0000 (11:38 -0700)]
st/mesa: remove gl_renderbuffer::GetPointer stuff
(cherry picked from commit
a4a566a610778e6ab93424a38e372c3dcb7d92d3)
Brian Paul [Mon, 16 Jan 2012 17:55:39 +0000 (10:55 -0700)]
swrast: stop using Put/GetRow/Values() in swrast code
All color buffer rendering is now done by accessing mapped renderbuffer
memory. We're now able to get rid of all the GetRow/PutRow stuff.
(cherry picked from commit
0ff817f200ef4cb4a5ab0d90eccfc83d0671fb65)
Brian Paul [Mon, 16 Jan 2012 17:55:32 +0000 (10:55 -0700)]
swrast: use gl_renderbuffer::StrideInBytes in depth/stencil code
(cherry picked from commit
b766d4bb43b2c8271413c1efafe3590fa75efc3c)
Brian Paul [Mon, 16 Jan 2012 17:55:25 +0000 (10:55 -0700)]
mesa: use gl_renderbuffer::Map for all depth/stencil accesses
Instead of using the obsolete gl_renderbuffer::Data field.
Color buffer are still accessed through GetRow/PutRow().
(cherry picked from commit
7d1ddec92168e9b6ead0da80b18364a75f9a85e6)
Brian Paul [Mon, 16 Jan 2012 17:55:20 +0000 (10:55 -0700)]
intel: make intel_renderbuffer_map/unmap() static
(cherry picked from commit
14da67d9b9b9e30740ef1687c3952a0b5e8b0a54)
Brian Paul [Mon, 16 Jan 2012 17:55:15 +0000 (10:55 -0700)]
mesa: add new gl_renderbuffer fields
These are temporary, actually, but they'll make follow-on work easier to
implement in a step-by-step manner. Eventually the Map and RowStrideBytes
fields will go into a new swrast_renderbuffer type, but adding that type
now would involve touching a _lot_ of code that'll eventually be removed.
The fields marked as obsolete will go away completely at some point.
(cherry picked from commit
827c1d66f671e50d9d96277b1fd3a59309626f66)
Brian Paul [Mon, 16 Jan 2012 17:55:10 +0000 (10:55 -0700)]
swrast: flush pending rendering before unmapping buffers
(cherry picked from commit
fc9f74839d50ab5480ae657524cf2ddebf55d451)
Brian Paul [Mon, 16 Jan 2012 17:54:53 +0000 (10:54 -0700)]
swrast: new assertions in _swrast_pixel_address()
(cherry picked from commit
33257803d9083643ea9709c127933d5a2c4f1960)
Brian Paul [Mon, 16 Jan 2012 17:54:47 +0000 (10:54 -0700)]
swrast: use _swrast_pixel_address() in more places
(cherry picked from commit
e34a54ff451a37a6e6eab529c44330dd6a8b218b)
Brian Paul [Mon, 16 Jan 2012 17:54:41 +0000 (10:54 -0700)]
swrast: s/Data/Map/ in swrast_texture_image
To indicate that it points to mapped texture memory.
(cherry picked from commit
bd3c10c0f0c60ab3421c2da2eab814edc2296cb0)
Brian Paul [Mon, 16 Jan 2012 17:54:36 +0000 (10:54 -0700)]
swrast: remove gl_renderbuffer::DataType check in DrawPixels()
The field will be going away so update this code.
(cherry picked from commit
ecb8594c184f5daa2f5a735e42ee24e7d110aa9f)
Brian Paul [Mon, 16 Jan 2012 17:54:31 +0000 (10:54 -0700)]
swrast: remove gl_renderbuffer::DataType assertions
This field will go away, so remove some uses of it.
(cherry picked from commit
7726be1c1b8ae321d01e781b5db4e2224e67d13d)
Brian Paul [Mon, 16 Jan 2012 17:54:23 +0000 (10:54 -0700)]
st/mesa: remove gl_renderbuffer:DataType assignments
That field is only used by swrast code so there's no reason to mess
with it in the gallium state tracker.
This also lets us remove the unused st_format_data() type function and
related code.
(cherry picked from commit
ca6d86d26b1726b13baa21b73fe9d426f28370e2)
Brian Paul [Mon, 16 Jan 2012 17:54:19 +0000 (10:54 -0700)]
swrast: make _swrast_get_values(), _swrast_get_row() static
They were only called from in s_span.c
(cherry picked from commit
ff57b0f037a45b0d5ced38234f0a8b29d32e7f9d)
Brian Paul [Mon, 16 Jan 2012 17:54:13 +0000 (10:54 -0700)]
swrast: remove dstType param from _swrast_read_rgba_span()
It was always GL_FLOAT.
(cherry picked from commit
267fb178844d3f17503dd0f921791f3ab059c4e7)
Brian Paul [Mon, 16 Jan 2012 17:54:01 +0000 (10:54 -0700)]
swrast: remove unused _swrast_put_row()
(cherry picked from commit
64be85540f30e904784c6a72f2ba2784d5ccb36d)
Chad Versace [Wed, 18 Jan 2012 23:56:58 +0000 (15:56 -0800)]
swrast: Fix unsigned promotion in pointer arithmetic
When rowstride was negatie, unsigned promotion caused a segfault here:
299│ if (rb->Format == MESA_FORMAT_S8) {
300│ const GLuint rowStride = rb->RowStride;
301│ for (i = 0; i < count; i++) {
302│ if (x[i] >= 0 && y[i] >= 0 && x[i] < w && y[i] < h) {
303├> stencil[i] = *(map + y[i] * rowStride + x[i]);
304│ }
305│ }
306│ }
Fixes segfault in oglconform
separatestencil-neu(NonPolygon.BothFacesBitmapCoreAPI),
though test still fails.
Note: This is a candidate for the stable branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43327
Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit
aed5c8299fe47b8e1728f8140d069bc89d3fa947)
Eric Anholt [Fri, 20 Jan 2012 21:43:11 +0000 (13:43 -0800)]
mesa: Fix CopyTex{Sub,}Image error checks for integer vs non-integer.
Fixes Intel oglconform negative.typeFormatMismatch.copyteximage.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit
422b18794eacc8f0be5b4e9611e2726f4e0d86b6)
Eric Anholt [Fri, 20 Jan 2012 23:23:42 +0000 (15:23 -0800)]
mesa: Add missing integer R/RG cases to _mesa_is_color_format().
This is part of fixing Intel oglconform
negative.typeFormatMismatch.copyteximage.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit
ee9804af14caa18586dd711119bc8fc8c2de00a8)
Eric Anholt [Fri, 20 Jan 2012 21:59:37 +0000 (13:59 -0800)]
meta: Detect currently-unsupported integer CopyTexSubImage and complain.
This code is unprepared for handling integer (particularly, the
baseFormat of the TexFormat comes out as GL_RGBA, not GL_RGBA_INTEGER,
so the direct call of Driver.ReadPixels crashes due to the int vs
non-int error checking not having happened). I'm frankly tempted to
convert this code to MapRenderbuffer/MapTexImage rather than doing it
as meta ops, now that we have that support.
Improves the remaining crash in Intel oglconform for int-textures to
just a rendering failure.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit
6bf0f6ae86dae14ed0348e5fccf75c43302ad502)
Eric Anholt [Fri, 20 Jan 2012 20:50:34 +0000 (12:50 -0800)]
mesa: Add the remaining from/to types for GL_EXT_texture_integer (and R/RG).
This aborts and crashes in intel oglconform's int-textures into being
just rendering failures. Clamping isn't handled yet.
v2: Add missing "break".
v3: Drop the int/uint distinction, since they don't need different clamping.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com> (v2)
(cherry picked from commit
d6c58545a1da8c83f0aad296a5e9e31a7c77cfe4)
Eric Anholt [Fri, 20 Jan 2012 23:03:12 +0000 (15:03 -0800)]
mesa: Add support for glGetTexImage on GL_TEXTURE_1D_ARRAY
Similarly to how we handle this in texstore, we have to remap height
to depth so that we MapTextureImage each image layer individually.
Fixes part of Intel oglconform's int-textures advanced.fbo.rtt
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit
08acd4bd61430beb20a74af23de9f63c8f077467)
Eric Anholt [Thu, 19 Jan 2012 17:46:24 +0000 (09:46 -0800)]
mesa: Add support for glGetTexImage() from integer textures.
This is a step toward fixing Intel oglconform's
int-textures advanced.fbo.rtt.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit
9f1e64d0856129374b00bd97685f22e092d6442d)
Eric Anholt [Fri, 20 Jan 2012 21:19:10 +0000 (13:19 -0800)]
i965/gen6+: Work around GPU hangs with logic ops on integer textures.
This doesn't result in correct rendering -- GL requires that logic ops
work, while the hardware specs say it doesn't do them. I'm not sure
how we would want to handle this.
NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit
f6e82cd2a18b0edebe3e4102fc93b552e708935a)
Eric Anholt [Thu, 19 Jan 2012 23:41:12 +0000 (15:41 -0800)]
i965/gen6+: Disable blending, alpha test, and dither on integer FBOs.
Fixes GPU hangs and some rendering failures in piglit
EXT_texture_integer/fbo-blending
NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit
04b4880d7c9a5882100ca6a19d42a8c012b174f6)
Jeremy Huddleston [Thu, 5 May 2011 21:08:57 +0000 (14:08 -0700)]
configure.ac: Don't use $CLANG since it will collide with the static analyzer.
We just prefix the $CLANG environment variable in configure.ac with acv_mesa_
Found by: tinderbox
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit
b728eefb06c26e4b5a25db31bbda9fcf4d015e17)
Ander Conselvan de Oliveira [Wed, 25 Jan 2012 14:24:13 +0000 (16:24 +0200)]
gbm: fix copy & paste error in gbm_bo_get_handle documentation
(cherry picked from commit
33f8a3cfbe85db6514231d8ebc622af1f2139a13)
Rob Bradford [Tue, 20 Dec 2011 15:40:21 +0000 (15:40 +0000)]
gbm: Add documentation for the public facing API
(cherry picked from commit
baab68e1a607b818c8988e70546fe3e6f97cf572)
Scott Moreau [Tue, 17 Jan 2012 15:36:12 +0000 (10:36 -0500)]
Complete ARGB8888 naming convention format renames missed
(cherry picked from commit
e0897009f8fe8100204038e37f5555966300383a)
Benjamin Franzke [Tue, 24 Jan 2012 13:35:34 +0000 (14:35 +0100)]
st/mesa: Fix recurring surfaceless contexts
A current incomplete framebuffer was incorrectly used as a
st_framebuffer. When accessing st_framebuffer childs bad things happen:
e.g. st_framebuffer::iface was used to check whether its an incomplete
fb, instead we need to compare st_framebuffer::Base against
mesa_get_incomplete_framebuffer.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44919
Note: This is a candidate for the 8.0 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit
36fb83e4a868e047521b3d5e0edc4d7a77a96aaf)
Kenneth Graunke [Fri, 20 Jan 2012 11:33:40 +0000 (03:33 -0800)]
i965: Fix border color on Sandybridge and Ivybridge.
While reading through the simulator, I found some interesting code that
looks like it checks the sampler default color pointer against the bound
set in STATE_BASE_ADDRESS. On failure, it appears to program it to the
base address itself.
So I decided to try programming a legitimate bound, and lo and behold,
border color worked.
+92 piglits on Sandybridge. Also fixes Lightsmark on Ivybridge.
NOTE: This is a candidate for stable release branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=28924
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38868
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit
c25e5300cba7628b58df93ead14ebc3cc32f338c)
Vinson Lee [Tue, 17 Jan 2012 02:01:22 +0000 (18:01 -0800)]
glsl: Fix 'control reaches end of non-void function' warning.
Fix this GCC warning on non-debug builds.
glsl_types.cpp: In member function 'gl_texture_index
glsl_type::sampler_index() const':
glsl_types.cpp:157: warning: control reaches end of non-void function
NOTE: This is a candidate for the 8.0 branch.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit
e9bcf4d56b8ae128204fb95693c6f81a6b724052)
Chad Versace [Tue, 17 Jan 2012 20:01:34 +0000 (12:01 -0800)]
mesa: Loosen glBlitFramebuffer restrictions on depthstencil buffers (v2)
This loosens the format validation in glBlitFramebuffer. When blitting
depth bits, don't require an exact match between the depth formats; only
require that the two formats have the same number of depth bits and the
same depth datatype (float vs uint). Ditto for stencil.
Between S8_Z24 buffers, the EXT_framebuffer_blit spec allows
glBlitFramebuffer to blit the depth and stencil bits separately. So I see
no reason to prevent blitting the depth bits between X8_Z24 and S8_Z24 or
the stencil bits between S8 and S8_Z24. However, we of course don't want
to allow blitting from Z32 to Z32_FLOAT.
Fixes Piglit fbo/fbo-blit-d24s8 on Intel drivers with separate stencil
enabled.
The problem was that, on Intel drivers with separate stencil, the default
framebuffer has separate depth and stencil buffers with formats X8_Z24 and
S8. The test attempts to blit the depth bits from a S8_Z24 buffer into the
default framebuffer.
v2: Check that depth datatypes match.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44665
Note: This is a candidate for the 8.0 branch.
Reported-by: Xunx Fang <xunx.fang@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit
f74d8aacbf2f6d140381e272d17c31162a3481b3)
Paul Berry [Tue, 17 Jan 2012 18:28:10 +0000 (10:28 -0800)]
glsl: Fix isinf() for non-C99-compliant compilers.
Commit
ede60bc4670a8d9c14921c77abee1ac57fc0e6bf (glsl: Add isinf() and
isnan() builtins) uses "+INF" in the .ir file to represent infinity.
This worked on C99-compliant compilers, since the s-expression reader
uses strtod() to read numbers, and C99 requires strtod() to understand
"+INF". However, it didn't work on non-C99-compliant compilers such
as MSVC.
This patch modifies the s-expression reader to explicitly check for
"+INF" rather than relying on strtod() to support it.
This is a candidate for the 8.0 branch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44767
Tested-by: Morgan Armand <morgan.devel@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit
4f82fed49359676fc19598f8c65ca51958dd2d79)
Ian Romanick [Wed, 18 Jan 2012 00:24:05 +0000 (16:24 -0800)]
mesa: Set default access flags based on the run-time API
The default access flags for OpenGL ES (via GL_OES_map_buffer) and
desktop OpenGL are different. The code previously tried to handle
this, but the decision was made at compile time. Since the same
driver binary can be used for both OpenGL ES and desktop OpenGL, the
decision must be made at run-time.
This should fix bug #44433. It appears that the test case does
various map and unmap operations and inspects the state of the buffer
object around each. When it sees that GL_BUFFER_ACCESS does not match
its expectations, it fails.
NOTE: This is a candidate for release branches.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44433
(cherry picked from commit
f0ea46790f8f4df9a39b0cfab5c5f1bf02c136fc)
Kenneth Graunke [Wed, 18 Jan 2012 08:55:12 +0000 (00:55 -0800)]
i965: Fix disassembly of data port writes on Ivybridge.
msg_type moved by a bit, so the message type was being disassembled
incorrectly. In particular, render target writes were showing up as
"OWORD block write".
NOTE: This is a candidate for stable release branches.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit
dcdfd1905c8012fe0a90e553f2a894c12cf144cf)
Kenneth Graunke [Wed, 18 Jan 2012 08:50:31 +0000 (00:50 -0800)]
i965: Fix disassembly of sampler messages on Ivybridge.
Compared to sampler_gen5, simd_mode shifted by a bit and msg_type grew
by a bit. So we were printing slightly incorrect numbers.
NOTE: This is a candidate for stable release branches.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit
a608be5d3333244f5357c459135b17b4c2298e18)
Kenneth Graunke [Wed, 18 Jan 2012 12:53:40 +0000 (04:53 -0800)]
i965/vs: Take attributes into account when deciding urb_entry_size.
Both the VF and VS share space in the URB. First, the VF stores
attributes (shader inputs) there. The VS then reads the attributes,
executes, and reuses the space to store varyings (shader outputs).
Thus, we need to calculate the amount of URB space necessary for inputs,
outputs, and pick whichever is greater.
The old VS backend correctly did this (brw_vs_emit.c:408), but the new
VS backend only considered outputs.
Fixes vertex scrambling in GLBenchmark PRO on Ivybridge.
NOTE: This is a candidate for the 8.0 branch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41318
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit
2e712e41db0c0676e9f30fc73172c0e8de8d84d4)
Ian Romanick [Tue, 17 Jan 2012 20:41:15 +0000 (12:41 -0800)]
intel: Set depth to 6 for cubemaps
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41216
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43212
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43250
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: Jin Yang <jin.a.yang@intel.com>
(cherry picked from commit
8a472427559ea33186c71dfbab8254651fec3077)
Eric Anholt [Fri, 18 Nov 2011 01:11:00 +0000 (17:11 -0800)]
i965: Add support for Z16 depth formats.
This is a squash of the following two commits. The first caused a
regression on SNB systems without a HiZ capable DDX, and the second
fixes that regression.
i965: Add support for Z16 depth formats.
v2: Don't flag the format as being HiZ ready (there's DRI2 handshake
pain to go through).
Fixes piglit gl-3.0-required-sized-texture-formats
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit
2f868f1ddd636bc8d4cbcd5beeef1246cec80c65)
intel/gen6: Some framebuffers having separate depthstencil should be unsupported
When the framebuffer has separate depth and stencil buffers, and HiZ is
not enabled on the depth buffer, mark the framebuffer as unsupported. This
happens when trying to create a framebuffer with Z16/S8 because we haven't
enabled HiZ on Z16 yet.
Fixes gles2conform test stencil8.
Note: This is a candiate for the 8.0 branch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44948
Reviewed-and-tested-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed--by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit
ba5252e590782a77b8a46d9c0ec4691cf8da6298)
Eric Anholt [Tue, 17 Jan 2012 19:28:56 +0000 (11:28 -0800)]
i965/gen7: Set up surface horizontal alignment field.
This is required for Z16 support for texturing, which is the first
thing to have a horizontal alignment of 8. Renderbuffers don't need
it, since they're always set up as the only mip level, but do it for
completeness anyway.
NOTE: This is a candidate for the 8.0 branch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit
f0d5c92a4c9d5057d727819e501d80c5dfcdf76e)
Eric Anholt [Tue, 17 Jan 2012 19:27:11 +0000 (11:27 -0800)]
i965/gen7: Remove stale comment.
This field is actually set up above.
NOTE: This is a candidate for the 8.0 branch, to avoid conflicts.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit
fc767ff59056a418a1c573261f0d04a329278ee8)
Eric Anholt [Thu, 12 Jan 2012 21:16:33 +0000 (13:16 -0800)]
glsl: Fix leak of linked uniform names at relink/free of the shader_program.
NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit
aad3a46ff453d33cb3df909903d261f67b452d31)