Matt Turner [Wed, 5 Sep 2012 22:19:30 +0000 (15:19 -0700)]
targets/libgl-xlib: Convert to automake
v2: Andreas Boll <andreas.boll.dev@gmail.com>
- Provide compatibility with scripts for the old Mesa build system
Matt Turner [Wed, 5 Sep 2012 18:19:11 +0000 (11:19 -0700)]
targets/dri-vmwgfx: Convert to automake
v2: Andreas Boll <andreas.boll.dev@gmail.com>
- Provide compatibility with scripts for the old Mesa build system
Matt Turner [Wed, 5 Sep 2012 18:17:33 +0000 (11:17 -0700)]
targets/dri-swrast: Convert to automake
v2: Andreas Boll <andreas.boll.dev@gmail.com>
- Provide compatibility with scripts for the old Mesa build system
Matt Turner [Wed, 5 Sep 2012 18:14:51 +0000 (11:14 -0700)]
targets/dri-radeonsi: Convert to automake
v2: Andreas Boll <andreas.boll.dev@gmail.com>
- Provide compatibility with scripts for the old Mesa build system
Matt Turner [Wed, 5 Sep 2012 18:12:29 +0000 (11:12 -0700)]
targets/dri-r600: Convert to automake
v2: Andreas Boll <andreas.boll.dev@gmail.com>
- Provide compatibility with scripts for the old Mesa build system
Matt Turner [Wed, 5 Sep 2012 18:09:53 +0000 (11:09 -0700)]
targets/dri-r300: Convert to automake
v2: Andreas Boll <andreas.boll.dev@gmail.com>
- Provide compatibility with scripts for the old Mesa build system
Matt Turner [Wed, 5 Sep 2012 18:07:30 +0000 (11:07 -0700)]
targets/dri-nouveau: Convert to automake
v2: Andreas Boll <andreas.boll.dev@gmail.com>
- Provide compatibility with scripts for the old Mesa build system
Matt Turner [Wed, 5 Sep 2012 04:26:39 +0000 (21:26 -0700)]
targets/dri-i915: Convert to automake
v2: Andreas Boll <andreas.boll.dev@gmail.com>
- Provide compatibility with scripts for the old Mesa build system
Matt Turner [Wed, 5 Sep 2012 04:57:28 +0000 (21:57 -0700)]
build: Update drivers/Makefile.am to use LTLIBRARIES
Matt Turner [Wed, 5 Sep 2012 04:16:04 +0000 (21:16 -0700)]
state_trackers/xvmc/test: Convert to automake
Matt Turner [Wed, 5 Sep 2012 04:08:19 +0000 (21:08 -0700)]
state_trackers/xvmc: Convert to automake
Matt Turner [Wed, 5 Sep 2012 04:08:19 +0000 (21:08 -0700)]
Remove xvmc hack
Matt Turner [Wed, 5 Sep 2012 03:59:34 +0000 (20:59 -0700)]
state_trackers/xorg: Convert to automake
Matt Turner [Tue, 4 Sep 2012 22:17:11 +0000 (15:17 -0700)]
state_trackers/xa: Convert to automake
Matt Turner [Tue, 4 Sep 2012 20:24:33 +0000 (13:24 -0700)]
state_trackers/vega: Convert to automake
Matt Turner [Tue, 4 Sep 2012 20:13:51 +0000 (13:13 -0700)]
state_trackers/vdpau: Convert to automake
Matt Turner [Tue, 4 Sep 2012 20:13:51 +0000 (13:13 -0700)]
Remove vdpau hack
Matt Turner [Tue, 4 Sep 2012 18:51:36 +0000 (11:51 -0700)]
state_trackers/glx: Convert to automake
Matt Turner [Tue, 4 Sep 2012 18:41:22 +0000 (11:41 -0700)]
state_trackers/gbm: Convert to automake
Matt Turner [Sat, 1 Sep 2012 00:11:35 +0000 (17:11 -0700)]
state_trackers/egl: Convert to automake
Matt Turner [Fri, 31 Aug 2012 22:45:07 +0000 (15:45 -0700)]
state_trackers: Convert to automake
Matt Turner [Fri, 31 Aug 2012 22:40:51 +0000 (15:40 -0700)]
Remove state_tracker/Makefile
Unneeded and unnecessary.
Matt Turner [Fri, 31 Aug 2012 17:51:53 +0000 (10:51 -0700)]
build: Don't build pipebuffer
It's already built by src/gallium/auxiliary.
Tom Stellard [Thu, 30 Aug 2012 16:55:29 +0000 (12:55 -0400)]
radeon/llvm: Convert to Automake
v2: Johannes Obermayr <johannesobermayr@gmx.de>
Fix some undefined symbols.
v3: Johannes Obermayr <johannesobermayr@gmx.de>
Build it -shared to fix egl_gallium.so on r600/radeonsi builds.
Matt Turner [Sat, 8 Sep 2012 04:04:44 +0000 (21:04 -0700)]
build: Add automake conditionals for gallium drivers
Matt Turner [Thu, 30 Aug 2012 03:46:02 +0000 (20:46 -0700)]
state_trackers/dri/sw: Convert to automake
Matt Turner [Thu, 30 Aug 2012 03:34:39 +0000 (20:34 -0700)]
state_trackers/dri/drm: Convert to automake
Matt Turner [Thu, 30 Aug 2012 03:30:22 +0000 (20:30 -0700)]
state_trackers/dri: Convert to automake
Matt Turner [Wed, 29 Aug 2012 22:51:40 +0000 (15:51 -0700)]
winsys/sw/xlib: Convert to automake
Matt Turner [Wed, 29 Aug 2012 22:46:57 +0000 (15:46 -0700)]
winsys/sw/wrapper: Convert to automake
Matt Turner [Wed, 29 Aug 2012 22:44:25 +0000 (15:44 -0700)]
winsys/sw/wayland: Convert to automake
Matt Turner [Wed, 29 Aug 2012 22:32:43 +0000 (15:32 -0700)]
winsys/sw/null: Convert to automake
Matt Turner [Wed, 29 Aug 2012 22:28:45 +0000 (15:28 -0700)]
winsys/sw/fbdev: Convert to automake
Matt Turner [Wed, 29 Aug 2012 22:24:40 +0000 (15:24 -0700)]
winsys/sw/dri: Convert to automake
Matt Turner [Wed, 29 Aug 2012 22:09:30 +0000 (15:09 -0700)]
winsys/sw: Convert to automake
Matt Turner [Wed, 29 Aug 2012 21:48:25 +0000 (14:48 -0700)]
svga/winsys/drm: Convert to automake
Matt Turner [Wed, 29 Aug 2012 21:39:48 +0000 (14:39 -0700)]
nouveau/winsys/drm: Convert to automake
Matt Turner [Wed, 29 Aug 2012 21:29:08 +0000 (14:29 -0700)]
radeonsi: Convert to automake
Can't use LTLIBRARIES here yet, since libradeon isn't converted.
Matt Turner [Wed, 29 Aug 2012 21:14:58 +0000 (14:14 -0700)]
nvc0: Convert to automake
Matt Turner [Wed, 29 Aug 2012 21:10:28 +0000 (14:10 -0700)]
nv50: Convert to automake
Matt Turner [Wed, 29 Aug 2012 21:02:13 +0000 (14:02 -0700)]
nv30: Convert to automake
Matt Turner [Wed, 29 Aug 2012 19:33:57 +0000 (12:33 -0700)]
nouveau: Convert to automake
Matt Turner [Wed, 29 Aug 2012 19:29:47 +0000 (12:29 -0700)]
svga: Convert to automake
Matt Turner [Wed, 29 Aug 2012 19:17:57 +0000 (12:17 -0700)]
softpipe: Convert to automake
Matt Turner [Wed, 29 Aug 2012 19:04:45 +0000 (12:04 -0700)]
llvmpipe: Convert to automake
Matt Turner [Wed, 29 Aug 2012 18:42:45 +0000 (11:42 -0700)]
rbug: Convert to automake
Matt Turner [Wed, 29 Aug 2012 17:53:46 +0000 (10:53 -0700)]
i915/winsys/sw: Convert to automake
Matt Turner [Wed, 29 Aug 2012 17:37:07 +0000 (10:37 -0700)]
i915/winsys/drm: Convert to automake
Matt Turner [Wed, 29 Aug 2012 17:31:29 +0000 (10:31 -0700)]
i915g: Convert to automake
Matt Turner [Fri, 24 Aug 2012 19:05:30 +0000 (12:05 -0700)]
r600g: Use gallium automake include file
Tom Stellard [Fri, 24 Aug 2012 18:48:32 +0000 (11:48 -0700)]
libgallium: Convert to automake
Tom Stellard [Fri, 24 Aug 2012 18:46:32 +0000 (11:46 -0700)]
trace: Convert to automake
Tom Stellard [Fri, 24 Aug 2012 18:44:57 +0000 (11:44 -0700)]
radeon/winsys: Convert to automake
Matt Turner [Mon, 10 Sep 2012 20:34:09 +0000 (13:34 -0700)]
r300g: Link ralloc.c and register_allocate.c into separate library
Tom Stellard [Fri, 13 Jul 2012 17:33:11 +0000 (13:33 -0400)]
r300g: Build a libtool archive
Tom Stellard [Fri, 24 Aug 2012 18:42:35 +0000 (11:42 -0700)]
r300g: Use gallium automake include file
[mattst88] v2: Remove ARCH_FLAGS/OPT_FLAGS
Tom Stellard [Fri, 13 Jul 2012 17:33:09 +0000 (13:33 -0400)]
gallium: Add common automake include file
v2: Matt Turner <mattst88@gmail.com>
Remove ARCH_FLAGS/OPT_FLAGS
v3: Johannes Obermayr <johannesobermayr@gmx.de>
Add -I$(top_srcdir)/include to GALLIUM_CFLAGS
Matt Turner [Thu, 23 Aug 2012 22:55:53 +0000 (15:55 -0700)]
automake: Convert Gallium target and winsys
Kristian Høgsberg [Fri, 14 Dec 2012 04:39:45 +0000 (23:39 -0500)]
egl/gbm: Implement EGL_EXT_buffer_age
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Matt Turner [Tue, 20 Nov 2012 21:01:04 +0000 (13:01 -0800)]
mesa: Rename and wire-up GetInteger64i_v
The function was named badly and wasn't in the dispatch table,
making it hard to find.
Fixes transform_feedback2_states and gets a few other transform
feedback tests closer to working in es3conform.
Reviewed-by Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Tue, 20 Nov 2012 20:56:52 +0000 (12:56 -0800)]
mesa: Correct glGet{Boolean,Integer}i_v names
Reviewed-by Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Fri, 16 Nov 2012 06:13:48 +0000 (22:13 -0800)]
mesa: Allow GL_DEPTH_STENCIL_ATTACHMENT in ES 3
Fixes framebuffer_srgb_default_encoding_fbo and 5 packed_depth_stencil
tests from es3conform.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Chad Versace [Wed, 21 Nov 2012 01:04:45 +0000 (17:04 -0800)]
mesa: Support more glGet enums for ES3
For glGetIntegerv, add support for the following in an OpenGL ES 3.0
context:
GL_MAJOR_VERSION
GL_MINOR_VERSION
GL_NUM_EXTENSIONS
See Table 6.29 of the OpenGL ES 3.0 spec.
Fixes error GL_INVALID_ENUM in piglit egl-create-context-verify-gl-flavor,
testcase for OpenGL ES 3.0.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (v1)
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Matt Turner [Sun, 9 Dec 2012 01:24:19 +0000 (17:24 -0800)]
mesa: Support querying GL_MAX_ELEMENT_INDEX in ES 3
The ES 3 spec says that the minumum allowable value is 2^24-1, but the
GL 4.3 and ARB_ES3_compatibility specs require 2^32-1, so return 2^32-1.
Fixes es3conform's element_index_uint_constants test.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Sun, 9 Dec 2012 01:17:19 +0000 (17:17 -0800)]
mesa: De-duplicate ES2 queries
From GL/GLES/GL_CORE and GLES2 -> GL/GL_CORE/GLES2.
Yes, we really were exposing ES2_compatibility queries on ES 1.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Sun, 9 Dec 2012 01:10:50 +0000 (17:10 -0800)]
mesa: Allow glGet* queries on EXT_texture_lod_bias data in ES 3
Fixes the remaining 4 texture_lod_bias failures in es3conform.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Sun, 9 Dec 2012 01:04:42 +0000 (17:04 -0800)]
mesa: Allow glGet* queries on EXT_framebuffer_blit data in ES 3
Fixes 2 framebuffer_blit es3conform tests.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Sun, 9 Dec 2012 01:03:44 +0000 (17:03 -0800)]
mesa: Allow glGet* queries on ARB_fragment/vertex_shader data in ES 3
Fixes uniform_buffer_object_implementation_dependent_limits in
es3conform.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Sun, 9 Dec 2012 01:02:26 +0000 (17:02 -0800)]
mesa: Allow glGet* queries on ARB_framebuffer_object data in ES 3
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Sun, 9 Dec 2012 01:01:42 +0000 (17:01 -0800)]
mesa: Allow glGet* queries on ARB_transform_feedback2 data in ES 3
Fixes the transform_feedback2_init_defaults test from es3conform.
The ES 3 spec lists these as TRANSFORM_FEEDBACK_PAUSED and
TRANSFORM_FEEDBACK_ACTIVE.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Sun, 9 Dec 2012 01:00:57 +0000 (17:00 -0800)]
mesa: Allow glGet* queries on EXT_transform_feedback data in ES 3
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Sun, 9 Dec 2012 01:00:17 +0000 (17:00 -0800)]
mesa: Allow glGet* queries on ARB_sync data in ES 3
Fixes the sync_coverage_max_server_wait_timeout test in es3conform.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Sun, 9 Dec 2012 00:59:37 +0000 (16:59 -0800)]
mesa: Allow glGet* queries of EXT_pbo data in ES 3
Fixes pixel_buffer_object_default_binding and gets other tests in
es3conform closer to passing.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Sun, 9 Dec 2012 00:43:54 +0000 (16:43 -0800)]
mesa: Allow glGet* queries of select ARB_ubo data in ES 3
Fixes 5 uniform_buffer_object tests in es3conform.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Fri, 14 Dec 2012 22:22:28 +0000 (14:22 -0800)]
Add ES 3 handling to get.c and get_hash_generator.py
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Wed, 28 Nov 2012 20:03:26 +0000 (12:03 -0800)]
glapi: Move ARB_base_instance to the correct location
It's #107, it shouldn't be added after the #116 comment.
Reviewed-by: Fredrik Höglund <fredrik@kde.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Thu, 29 Nov 2012 20:43:39 +0000 (12:43 -0800)]
mesa/tests: Add ARB_ES3_compatibility enums
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Matt Turner [Wed, 28 Nov 2012 20:12:09 +0000 (12:12 -0800)]
glapi: Add enums for ARB_ES3_compatibility
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Quentin Glidic [Wed, 28 Nov 2012 15:33:47 +0000 (16:33 +0100)]
mesa/program: Fix both Classic and Gallium build
Follow-up for
907844107252260c646aca361191ef7f121f3d23 and
3a5ad21cd3f026579eeacc25b39513711556c7ee
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57044
Tested-by: Fabio Pedretti <fabio.ped@libero.it>
Tested-by: Brad King <brad.king@kitware.com>
Andreas Boll [Tue, 27 Nov 2012 09:25:54 +0000 (10:25 +0100)]
configure.ac: fix typo in error message
Marek Olšák [Thu, 10 Jan 2013 14:23:56 +0000 (15:23 +0100)]
r300g: don't set sample positions to the pixel center if MSAA is disabled
but an MSAA resource is bound. This effectively makes the MSAA disable switch
not affect rasterization, but it still affects the alpha-to-one and
alpha-to-coverage states. This hardware just lacks a proper MSAA disable
switch.
This fixes graphics corruption in sauerbraten.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59194
Paul Berry [Tue, 8 Jan 2013 21:30:46 +0000 (13:30 -0800)]
intel: Clean up confusion between logical and physical surface dimensions.
In most cases, the width, height, and depth of the physical surface
used by the driver to implement a texture or renderbuffer is equal to
the logical width, height, and depth exposed to the client through
functions such as glTexImage3D(). However, there are two exceptions:
cube maps (which have a physical depth of 6 but a logical depth of 1)
and multisampled renderbuffers (which have larger physical dimensions
than logical dimensions to allow multiple samples per pixel).
Previous to this patch, we accounted for the difference between
physical and logical surface dimensions at inconsistent places in the
call graph (multisampling was accounted for in
intel_miptree_create_for_renderbuffer(), and cubemaps were accounted
for in intel_miptree_create_internal()). As a result, it wasn't
always clear, when calling a miptree creation function, whether
physical or logical dimensions were needed. Also, we weren't
consistent about storing logical dimensions in the intel_mipmap_tree
structure (we only did so in the
intel_miptree_create_for_renderbuffer() code path, and we did not
store depth).
This patch refactors things so that intel_miptree_create_internal() is
responsible for converting logical to physical dimensions and for
storing both the physical and logical dimensions in the
intel_mipmap_tree structure. As a result, all miptree creation
functions interpret their arguments as logical dimensions, and both
physical and logical dimensions are always available to functions that
work with intel_mipmap_trees.
In addition, it renames the fields in intel_mipmap_tree used to store
the dimensions, so that it is clear from the name whether physical or
logical dimensions are being referred to.
This should fix the following bugs:
- When creating a separate stencil surface for a depthstencil cubemap,
we would erroneously try to convert the depth from 1 to 6 twice,
resulting in an assertion failure.
- When creating an MCS buffer for compressed multisampling, we used
physical dimensions instead of logical dimensions, resulting in
wasted memory.
In addition, this should considerably simplify the implementation of
ARB_texture_multisample, because it moves the code to compute the
physical size of multisampled surfaces out of renderbuffer-only code.
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Paul Berry [Tue, 8 Jan 2013 21:12:09 +0000 (13:12 -0800)]
intel: Add a force_y_tiling parameter to intel_miptree_create().
This allows intel_miptree_alloc_mcs() to force Y tiling for the MCS
buffer. Previously we accomplished this by the hack of passing
INTEL_MSAA_LAYOUT_CMS as the msaa_layout parameter, but that parameter
is going to be going away soon.
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Paul Berry [Tue, 8 Jan 2013 21:00:25 +0000 (13:00 -0800)]
intel: Move compute_msaa_layout earlier in file.
No functional change. This patch moves the compute_msaa_layout()
function earlier in intel_mipmap_tree.c so that it can be used by
other functions in that file.
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Vinson Lee [Wed, 9 Jan 2013 07:09:00 +0000 (08:09 +0100)]
r600g: Fix memory leak in r600_bytecode_add_vtx.
Fixes resource leak defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Marek Olšák [Wed, 9 Jan 2013 15:39:18 +0000 (16:39 +0100)]
r300g: optionally log MSAA resources to stderr
Set: RADEON_DEBUG=msaa
Marek Olšák [Wed, 9 Jan 2013 15:26:24 +0000 (16:26 +0100)]
r300g: fix the GPU name in the renderer string
Broken by
ca474f98f2cda5cb333e9f851.
Marek Olšák [Wed, 9 Jan 2013 10:34:33 +0000 (11:34 +0100)]
r300g: fix CS checker errors caused by emit_dsa_state
size is 10 on r500 and 8 on r300
Johannes Obermayr [Fri, 30 Nov 2012 00:44:56 +0000 (01:44 +0100)]
clover: Adapt libclc's INCLUDEDIR and LIBEXECDIR to make use of the new introduced libclc.pc.
Tom Stellard:
-Keep --with-libclc-path and mark it deprecated.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Ian Romanick [Thu, 6 Dec 2012 22:57:01 +0000 (14:57 -0800)]
glsl: Don't add structure fields to the symbol table
I erroneously added this back in January 2011 in commit
88421589.
Looking at the commit message, I have no idea why I added it. It only
added non-array structure fields to the symbol table, so array structure
fields are treated correctly.
Fixes piglit tests structure-and-field-have-same-name.vert and
structure-and-field-have-same-name-nested.vert. It should also fix
WebGL conformance tests shader-with-non-reserved-words.
NOTE: This is a candidate for the stable release branches.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57622
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Kenneth Graunke [Tue, 8 Jan 2013 03:42:38 +0000 (19:42 -0800)]
i965/fs: Fix struct vs. class in acp_entry definitions.
Marek Olšák [Sat, 22 Dec 2012 18:33:47 +0000 (19:33 +0100)]
r600g: implement buffer copying using CP DMA for R7xx, Evergreen, Cayman
R6xx doesn't work - the issue seems to be with flushing (sometimes
the destination buffer contains garbage). There are no hangs, so we're good.
R7xx doesn't seem to have any alignment restriction despite our initial
thinking. Everything just works.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Marek Olšák [Tue, 8 Jan 2013 19:39:55 +0000 (20:39 +0100)]
st/mesa: fix possible MSVC build error v2
https://bugs.freedesktop.org/show_bug.cgi?id=59143
Using GLubyte as per Brian's suggestion.
Paul Berry [Wed, 19 Dec 2012 00:37:52 +0000 (16:37 -0800)]
glsl: Pack flat "varyings" of mixed types together.
This patch enhances the varying packing code so that flat varyings of
uint, int, and float types can be packed together.
We accomplish this in lower_packed_varyings.cpp by making the type of
all flat varyings ivec4, and then using information-preserving type
conversions (e.g. ir_unop_bitcast_f2i) to convert all other types to
ints.
The varying_matches::compute_packing_class() function is updated to
reflect the fact that varying packing no longer needs to segregate
varyings of different base types.
Fixes piglit test varying-packing-mixed-types.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
v2: Split lower_packed_varyings_visitor::bitwise_assign into
pack/unpack variants.
Paul Berry [Tue, 18 Dec 2012 23:24:39 +0000 (15:24 -0800)]
glsl: Prohibit structs and bools from being used as "varyings".
The GLSL 1.30 spec only allows vertex shader outputs and fragment
shader inputs ("varyings" in pre-GLSL-1.30 parlance) to be of type
int, uint, float, or vectors, matrices, or arrays thereof. Bools,
bvec's, and structs are prohibited. (Integral varyings were
prohibited prior to GLSL 1.30).
Previously, Mesa only performed this check on variables declared with
the "varying" keyword, and it always performed the check according to
the pre-GLSL-1.30 rules. As a result, bools and structs were allowed
to slip through, provided they were declared using the new in/out
syntax.
This patch modifies the error check so that it occurs after "varying"
is converted to "in/out", and corrects it to properly account for GLSL
version.
Fixes piglit tests:
in-bool-prohibited.frag
in-bvec2-prohibited.frag
in-bvec3-prohibited.frag
in-bvec4-prohibited.frag
in-struct-prohibited.frag
out-bool-prohibited.vert
out-bvec2-prohibited.vert
out-bvec3-prohibited.vert
out-bvec4-prohibited.vert
out-struct-prohibited.vert
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Paul Berry [Tue, 18 Dec 2012 22:49:34 +0000 (14:49 -0800)]
glsl: Plumb through is_parameter to apply_type_qualifier_to_variable()
This patch adds logic to allow the ast_to_hir function
apply_type_qualifier_to_variable() to tell whether it is acting on a
variable declaration or a function parameter. This will allow it to
correctly interpret the meaning of "out" and "in" keywords (which have
different meanings in those two contexts).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Paul Berry [Mon, 17 Dec 2012 22:20:35 +0000 (14:20 -0800)]
glsl: Separate varying linking code to its own file.
linker.cpp is getting pretty big, and we're about to add even more
varying packing code, so split out the linker code that concerns
varyings to its own file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Paul Berry [Mon, 17 Dec 2012 21:48:21 +0000 (13:48 -0800)]
mesa: Add ALIGN() macro to main/macros.h.
Previously this macro existed in 3 separate places, some inside the
intel driver and some outside of it. It makes more sense to have it
in main/macros.h
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Paul Berry [Tue, 8 Jan 2013 02:10:30 +0000 (18:10 -0800)]
glsl: Fix loop bounds detection.
When analyzing a loop where the loop condition is expressed in the
non-standard order (e.g. "4 > i" instead of "i < 4"), we were
reversing the condition incorrectly, leading to a loop bound that was
off by 1.
Fixes piglit tests {vs,fs}-loop-bounds-unrolled.shader_test.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Marek Olšák [Tue, 8 Jan 2013 15:38:10 +0000 (16:38 +0100)]
winsys/radeon: bump the size of relocation hashlist
This should reduce the number of hash collisions in ETQW.