summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* i965/vs: Fix message setup for array read/writes on pre-gen6.Eric Anholt2011-09-061-18/+14
| | | | | | | | We were passing an MRF as the source argument, instead of using the implied move and putting the MRF number in the proper place in the instruction encoding. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Fix constant-indexed array read/write addresses on pre-gen6.Eric Anholt2011-09-061-1/+1
| | | | | | The second vertex was getting a garbage index. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Add support for vector comparison ops resulting in bool cond codes.Eric Anholt2011-09-062-21/+33
| | | | | | Fixes a giant pile of VS tests on gen4. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Make pre-gen6 math operate in vector mode instead of scalar.Eric Anholt2011-09-061-1/+1
| | | | | | | | | | | On the old backend, we used scalar mode because Mesa IR math is result.xyzw = math(op0.xxxx), which matched up well. However, in GLSL IR we do things like result.xy = math(op0.xy), so we want vector mode. For the common case of result.x = math(op0.x), performance will be the same (no cost for un-executed channels), though result.xyzw = math(op0.xxxx) would be worse. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Fix copy-and-paste disaster in pre-gen6 POW support.Eric Anholt2011-09-061-5/+0
| | | | | | Fixes vs-pow-float-float and friends. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Fix gen4 comparisons used for predication.Eric Anholt2011-09-061-1/+4
| | | | | | | When we tried to retype a brw_null_reg() in CMP(), the retyping didn't take effect because HW_REG just ignores the type field. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Fix GPU hangs in shaders with large virtual GRFs pre-gen6.Eric Anholt2011-09-061-1/+2
| | | | | | | If you get your total GRF count wrong, you write over some other shader's g0, and the GPU fails shortly thereafter. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: add casts to silence int/enum conversion warningsBrian Paul2011-09-061-2/+2
|
* state_trackers/dri/sw: Implement texture_from_pixmap.Stéphane Marchesin2011-09-061-7/+43
| | | | | Signed-off-by: Stuart Abercrombie <[email protected]> Signed-off-by: Stéphane Marchesin <[email protected]>
* Duplicate state_tracker/dri/sw/dri_drawable.cStéphane Marchesin2011-09-061-1/+269
| | | | | | | We need this for the upcoming fix for sw texture_from_pixmap. Signed-off-by: Stuart Abercrombie <[email protected]> Signed-off-by: Stéphane Marchesin <[email protected]>
* Enable GLX_EXT_texture_from_pixmap in software.nobled2011-09-061-2/+81
| | | | | | Signed-off-by: nobled <[email protected]> Signed-off-by: Stuart Abercrombie <[email protected]> Signed-off-by: Stéphane Marchesin <[email protected]>
* st/mesa: remove unneeded #includeBrian Paul2011-09-061-1/+0
|
* mesa: whitespace fixes, just to be consistentBrian Paul2011-09-061-2/+7
|
* mesa: put _mesa_ prefix on vert_result_to_frag_attrib()Brian Paul2011-09-065-9/+9
|
* mesa: fix vert_result_to_frag_attrib() parameter typeBrian Paul2011-09-061-2/+2
|
* mesa: s/inline/INLINE/ to fix MSVC buildBrian Paul2011-09-061-2/+2
|
* Drop some Glide remnantsAdam Jackson2011-09-065-407/+0
| | | | | | Apparently the x11 driver had a hack for glide passthrough. Who knew? Signed-off-by: Adam Jackson <[email protected]>
* Remove an AmiWin leftoverAdam Jackson2011-09-061-6/+0
| | | | Signed-off-by: Adam Jackson <[email protected]>