summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* st/dri: add support for __DRI_IMAGE_FORMAT_ABGR8888Chia-I Wu2011-09-091-0/+6
| | | | It maps to PIPE_FORMAT_R8G8B8A8_UNORM.
* intel: add support for __DRI_IMAGE_FORMAT_ABGR8888Chia-I Wu2011-09-094-0/+27
| | | | | | | | | | | It maps to MESA_FORMAT_RGBA8888_REV. Surfaces of the format can only be sampled from but not render to. Only i915 is tested. Reviewed-by: Eric Anholt <[email protected]> [olv: add a check in intel_image_target_renderbuffer_storage]
* glsl: Don't do structure splitting until link time.Eric Anholt2011-09-081-1/+1
| | | | | | | | | We were splitting on each side of an unlinked program, and the two sides lost track of which variables they referenced, resulting in assertion failure during validation. Fixes piglit link-struct-uniform-usage. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Clarify error message about whole-array assignment in GLSL 1.10.Eric Anholt2011-09-081-6/+25
| | | | | | | | | | | | | | | | | Previously, it would produce: Failed to compile FS: 0:6(7): error: non-lvalue in assignment and now it produces: Failed to compile FS: 0:5(7): error: whole array assignment is not allowed in GLSL 1.10 or GLSL ES 1.00. Also, add spec quotation to the two places we have code for array lvalues in GLSL 1.10. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: When assiging from a whole array, mark it as used.Eric Anholt2011-09-081-0/+1
| | | | | | Fixes piglit link-uniform-array-size. Reviewed-by: Ian Romanick <[email protected]>
* glsl: Fix setting of OutputsWritten for whole array dereference.Eric Anholt2011-09-081-4/+2
| | | | | | | | We just want to mark the whole thing used, not mark from each element the whole size in use. Fixes undefined URB entry writes on i965, which blew up with debugging enabled. Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove unneeded #include of texfetch.hBrian Paul2011-09-081-1/+0
|
* mesa: use _mesa_unpack_float_z_row in get_tex_depth()Brian Paul2011-09-081-5/+7
| | | | Removes another use of the gl_texture_image::FetchTexelf() function.
* mesa: use ctx->Driver.GetTexImage() to decompress base texture imageBrian Paul2011-09-081-42/+43
| | | | | This is a simple way to do the job and it removes one more use of the soon-to-be-removed gl_texture_image::FetchTexelc() function.
* mesa: handle compressed images in get_tex_rgba()Brian Paul2011-09-081-58/+106
| | | | | | Uses the new _mesa_decompress_image() function. Unlike the meta path that uses textured quad rendering to do decompression, this works with signed formats as well.
* mesa: new _mesa_decompress_image() functionBrian Paul2011-09-082-0/+91
| | | | | Use the old texture fetch functions to decompress a whole image. To be used by glGetTexImage().
* mesa: added _mesa_get_uncompressed_format(), _mesa_format_num_components()Brian Paul2011-09-082-0/+71
|
* mesa: add new pixel format unpacking codeBrian Paul2011-09-084-0/+1545
| | | | | This will be used instead of the texel fetch code to unpack images in various formats.
* meta: added _mesa_meta_GetTexImage()Brian Paul2011-09-083-1/+232
| | | | | If the texture is compressed, call the meta decompress_texture_image() function. Otherwise, call the core _mesa_get_teximage() function.
* meta: move texcoord setup into setup_texture_coords()Brian Paul2011-09-081-92/+176
|
* nouveau: fix nouveau_fence leakMarcin Slusarz2011-09-081-0/+2
| | | | Note: This is a candidate for the 7.11 branch.
* nv50: fix screen->blitctx memory leakMarcin Slusarz2011-09-081-0/+2
|
* gles: Fix glGet(GL_{NUM_,}COMPRESSED_TEXTURE_FORMATS_ARB)Adam Jackson2011-09-081-1/+2
| | | | | | | We'd still accept the GL_PALETTE[48]_* formats in glCompressedTexImage2D, but they wouldn't be listed if you queried whether they were supported. Signed-off-by: Adam Jackson <[email protected]>
* glsl: Make sure gl_ClipDistance and gl_ClipVertex are not both written.Paul Berry2011-09-081-0/+19
| | | | | | | | | | | | | From section 7.1 (Vertex Shader Special Variables) of the GLSL 1.30 spec: "It is an error for a shader to statically write both gl_ClipVertex and gl_ClipDistance." Fixes piglit test mixing-clip-distance-and-clip-vertex-disallowed.c. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Check that gl_ClipDistance[] is not sized too large.Paul Berry2011-09-081-0/+15
| | | | | | | | | Fixes piglit tests clip-distance-explicit-too-large-with-access.{frag,vert} and clip-distance-explicit-too-large.{frag,vert}. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Rework oversize array check for gl_TexCoord.Paul Berry2011-09-081-12/+33
| | | | | | | | | | | | | The check now applies both when explicitly declaring the size of gl_TexCoord and when implicitly setting the size of gl_TexCoord by accessing it using integral constant expressions. This is prep work for adding similar size checks to gl_ClipDistance. Fixes piglit tests texcoord/implicit-access-max.{frag,vert}. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Add constant gl_MaxClipDistances.Paul Berry2011-09-081-0/+15
| | | | | | | Fixes piglit tests {vs,fs}-clip-distance-sizeable-to-max.shader_test. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Make gl_ClipDistance[] implicitly sized.Paul Berry2011-09-081-4/+24
| | | | | | | | | | | | | | | From the GLSL 1.30 spec, section 7.1 (Vertex Shader Special Variables): The gl_ClipDistance array is predeclared as unsized and must be sized by the shader either redeclaring it with a size or indexing it only with integral constant expressions. Fixes piglit tests clip-distance-implicit-length.vert, clip-distance-implicit-nonconst-access.vert, and {vs,fs}-clip-distance-explicitly-sized.shader_test. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* st/egl: Fix GDI build.José Fonseca2011-09-081-1/+1
|
* Define INLINE macro in terms of inline.José Fonseca2011-09-084-56/+66
|
* st/egl: add premultiplied alpha support to waylandBenjamin Franzke2011-09-084-4/+24
| | | | | | | | | | Return true for NATIVE_PARAM_PREMULTIPLIED_ALPHA when all formats with alpha support premultiplied alpha. (Based on Chia-I Wu's patch) [olv: remove the use of param_premultiplied_alpha from the original patch]
* st/egl: correctly return configs under waylandBenjamin Franzke2011-09-084-23/+98
| | | | | | | | | Handle "format" events and return configs for the supported formats. (Based on Chia-I Wu's patch) [olv: update and explain why PIPE_FORMAT_B8G8R8A8_UNORM should not be enabled without HAS_ARGB32]
* Revert "st/egl: correctly return configs under wayland"Chia-I Wu2011-09-084-113/+30
| | | | This reverts commit 95b445699d7f049116ee0927387a958a9933766b.
* Revert "st/egl: add premultiplied alpha support to wayland"Chia-I Wu2011-09-084-32/+3
| | | | This reverts commit 23aa978a9d76a48f4b93e9a8911ec50c0e5d94ab.
* st/egl: add premultiplied alpha support to waylandChia-I Wu2011-09-084-3/+32
| | | | | | Return true for NATIVE_PARAM_PREMULTIPLIED_ALPHA when all formats with alpha support premultiplied alpha. Currently, it means when argb32 and argb32_pre are both supported.
* st/egl: correctly return configs under waylandChia-I Wu2011-09-084-30/+113
| | | | | | When wl_drm is avaiable and enabled, handle "format" events and return configs for the supported formats. Otherwise, assume all formats of wl_shm are supported.
* st/egl: overload NATIVE_PARAM_PREMULTIPLIED_ALPHAChia-I Wu2011-09-083-7/+25
| | | | | | | | | | | | | EGL does not export this capability of a display server. But wayland makes use of EGL_VG_ALPHA_FORMAT to achieve it. So, when the native display returns true for the parameter, st/egl will set EGL_VG_ALPHA_FORMAT_PRE_BIT for all EGLConfig's with non-zero EGL_ALPHA_SIZE. EGL_VG_ALPHA_FORMAT attribute of a surface will affect how the surface is presented. Because st/vega does not support EGL_VG_ALPHA_FORMAT_PRE_BIT, EGL_OPENVG_BIT will be cleared.
* st/egl: add NATIVE_PARAM_PREMULTIPLIED_ALPHAChia-I Wu2011-09-081-1/+10
| | | | Return TRUE if the display supports premultiplied alpha.
* st/egl: add native_present_controlChia-I Wu2011-09-0811-49/+57
| | | | | | Replace the parameters of native_surface::present by a struct, native_present_control. Using a struct allows us to add more control options without having to update each backend every time.
* glsl: s/int/unsigned/ to silence warningBrian Paul2011-09-071-2/+2
|
* st/mesa: Remove unused renderbuffer fields and functions.Stéphane Marchesin2011-09-072-28/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* i965/fs: Implement ir_u2f opcode.Kenneth Graunke2011-09-071-1/+1
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Fix disassembly for intdiv/intmod math functions.Kenneth Graunke2011-09-071-2/+2
| | | | | | | | The opcodes and strings were reversed. Quotient means division, and modulus means remainder. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* st/egl: track changes to drop wl_visual in waylandChia-I Wu2011-09-084-20/+44
| | | | | | Follow a subset of changes in 7b1d94e5d1f53ac5f59000176aea1d02fc9a1181. There are known issues, but it works to a certain degree. Non-working demos also fail gracefully. More importantly, it fixes the build.
* st/egl: track server side wayland changesChia-I Wu2011-09-082-2/+2
| | | | Follow changes in c661ecce1089000c3fca9a543713f8264221be50.
* st/egl: use new wl_callback mechanism in waylandChia-I Wu2011-09-082-49/+30
| | | | Follow the changes in 6602bda23ba6c4351eb7f04d34803103a68ac2db.
* i965: Use proper texture alignment units for cubemaps on Gen5+.Kenneth Graunke2011-09-071-1/+4
| | | | | | | | | In particular, S3TC compressed textures need align_h == 4. Fixes skybox errors in Quake 4 and FEAR. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34628 Signed-off-by: Kenneth Graunke <[email protected]>
* glsl/ir_reader: Make sure constants have the right number of components.Kenneth Graunke2011-09-071-0/+5
| | | | | | | | The list of numbers in (constant type (<numbers>)) needs to contain exactly type->components() numbers (16 for a mat4, 3 for a vec3, etc.) Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl/builtins: Fix invalid float constant in noise4 built-in.Kenneth Graunke2011-09-071-2/+2
| | | | | | | Throwing away the extra numbers ought to match the existing behavior. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl/builtins: Fix invalid vecN constants in hyperbolic functions.Kenneth Graunke2011-09-075-21/+21
| | | | | | | | | | Each of these vecN constants only provided one component, which is illegal. The printed IR is meant to contain exactly as many components as are necessary; the IR reader does not splat single values. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Paul Berry <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* varray.c: fix logic around BGRA with ARB_vertex_type_2_10_10_10_rev.Dave Airlie2011-09-071-4/+11
| | | | | | | | | I introduced a regression in here, I've just split the logic ot now, so its easier to read/understand. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=40664 Signed-off-by: Dave Airlie <[email protected]>
* mesa/vbo: s/inline/INLINE/Vinson Lee2011-09-061-6/+6
| | | | MSVC does not support inline keyword.
* i965/vs: Fix point size handling on gen4.Eric Anholt2011-09-061-4/+5
| | | | | | Fixes glsl-vs-point-size. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Use write commits on scratch writes in pre-gen6.Eric Anholt2011-09-061-2/+22
| | | | | | | This is required to ensure ordering between reads and writes within a thread. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Fix setup of scratch space pointer on pre-gen6.Eric Anholt2011-09-061-0/+10
| | | | | | | We were failing to relocate, so on the first draw run our scratch would tend to get written to 0x0. Reviewed-by: Kenneth Graunke <[email protected]>