OSDN Git Service
Imre Deak [Mon, 10 Sep 2012 05:46:51 +0000 (08:46 +0300)]
mesa: glGet: remove the unused TYPE_API_MASK flags
Since we generate the hash tables in build time, these flags aren't used
any more, remove them.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Imre Deak [Mon, 10 Sep 2012 05:46:16 +0000 (08:46 +0300)]
mesa: glGet: use the build time generated hash tables
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Imre Deak [Mon, 10 Sep 2012 05:46:13 +0000 (08:46 +0300)]
mesa: glGet: add script to generate hash tables in build time
This will be needed by the next patch, which will switch to using
the parameter descriptor- and hash tables generated by the script.
The hash algorithm remains the same, the output parameter descriptor
table format changes slightly. There the TYPE_API_MASK entries are
removed and an invalid NULL entry is inserted at the beginning. This is
ok, as get.c:find_value() doesn't rely on TYPE_API_MASK any more to
detect an invalid enum.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Imre Deak [Wed, 12 Sep 2012 16:46:05 +0000 (19:46 +0300)]
scons/android: add flag to check for enabled GL APIs
Needed by the next patch.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Imre Deak [Mon, 10 Sep 2012 05:46:10 +0000 (08:46 +0300)]
mesa: glGet: rename *{_EXT,_ARB} enums missing from the XML spec
The following enums used to be extensions but later became part of the
core specification. The _EXT/_ARB versions of these are not present in
in the current XML spec files, only defined in GL/glext.h
Later we'll need to look up these in a python script using the XML spec.
As a preparation for that remove the _EXT,_ARB suffix from these enums
and rename GL_DISTANCE_ATTENUATION_EXT to GL_POINT_DISTANCE_ATTENUATION.
Naturally, all enums keep their numerical values.
Note that similar renames shouldn't be necessary in the future: in case
of a new extension the XML spec is updated with the new _EXT/_ARB etc.
name and this name is added to the enum table in get.c. Later the
extension may become part of the core spec, at which point the name w/o
the _EXT/_ARB suffix is added to the XML spec and the table in get.c
remains the same.
GL_BLEND_DST_ALPHA_EXT
GL_BLEND_DST_RGB_EXT
GL_BLEND_SRC_ALPHA_EXT
GL_BLEND_SRC_RGB_EXT
GL_COLOR_SUM_EXT
GL_COMPRESSED_TEXTURE_FORMATS_ARB
GL_CURRENT_FOG_COORDINATE_EXT
GL_CURRENT_SECONDARY_COLOR_EXT
GL_DISTANCE_ATTENUATION_EXT
GL_FOG_COORDINATE_ARRAY_EXT
GL_FOG_COORDINATE_ARRAY_STRIDE_EXT
GL_FOG_COORDINATE_ARRAY_TYPE_EXT
GL_FOG_COORDINATE_SOURCE_EXT
GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB
GL_PACK_IMAGE_HEIGHT_EXT
GL_PACK_SKIP_IMAGES_EXT
GL_SECONDARY_COLOR_ARRAY_EXT
GL_SECONDARY_COLOR_ARRAY_SIZE_EXT
GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT
GL_SECONDARY_COLOR_ARRAY_TYPE_EXT
GL_UNPACK_IMAGE_HEIGHT_EXT
GL_UNPACK_SKIP_IMAGES_EXT
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Imre Deak [Mon, 10 Sep 2012 05:46:02 +0000 (08:46 +0300)]
mesa: glGet: simplify the 'enum not found' condition
When traversing the hash table looking up an enum that is invalid we
eventually reach the first element in the descriptor array. By looking
at the type of that element, which is always TYPE_API_MASK, we know that
we can stop the search and return error. Since this element is always
the first it's enough to check for its index being 0 without looking at
its type.
Later in this patchset, when we generate the hash tables during build
time, this will allow us to remove the TYPE_API_MASK and related flags
completly.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Imre Deak [Mon, 10 Sep 2012 05:45:56 +0000 (08:45 +0300)]
mesa: glGet: fix parameter lookup for apps using multiple APIs
The glGet hash was initialized only once for a single GL API, even if
the application later created a context for a different API. This
resulted in glGet failing for otherwise valid parameters in a context
if that parameter was invalid in another context created earlier.
Fix this by using a separate hash table for each API.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Imre Deak [Mon, 10 Sep 2012 05:46:07 +0000 (08:46 +0300)]
glapi: rename/move GL_POLYGON_OFFSET_BIAS to its extension section
This should be named GL_POLYGON_OFFSET_BIAS_EXT and listed under the
EXT_polygon_offset section. (Solution by Ian Romanick)
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Marek Olšák [Sat, 6 Oct 2012 04:18:24 +0000 (06:18 +0200)]
r600g: move SQ_GPR_RESOURCE_MGMT_1 into new config_state
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Sat, 6 Oct 2012 04:05:32 +0000 (06:05 +0200)]
r600g: move DB_SHADER_CONTROL into db_misc_state
Also update the register value in more appropriate places
than r600_update_derived_state.
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Sun, 7 Oct 2012 13:38:32 +0000 (15:38 +0200)]
r600g: emit PS_PARTIAL_FLUSH at the beginning of CS
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Fri, 5 Oct 2012 18:11:15 +0000 (20:11 +0200)]
r600g: atomize depth-stencil-alpha state
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Fri, 5 Oct 2012 17:39:14 +0000 (19:39 +0200)]
r600g: atomize rasterizer state
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Fri, 5 Oct 2012 14:51:41 +0000 (16:51 +0200)]
r600g: sort variables in r600_context
Some variables have been removed from there too.
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Fri, 5 Oct 2012 03:50:30 +0000 (05:50 +0200)]
r600g: initialize SQ_VTX_SEMANTIC_* in the start_cs command buffer
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Fri, 5 Oct 2012 03:37:38 +0000 (05:37 +0200)]
r600g: atomize scissor state
The workaround for R600 lacking VPORT_SCISSOR_ENABLE has also been simplified.
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Fri, 5 Oct 2012 02:59:50 +0000 (04:59 +0200)]
r600g: atomize polygon offset state
POLY_OFFSET_DB_FMT_CNTL is moved to the framebuffer state, because it only
depends on the zbuffer format.
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Fri, 5 Oct 2012 02:02:22 +0000 (04:02 +0200)]
r600g: atomize fetch shader
The state object is actually a buffer, it's literally a buffer containing
the shader code.
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Fri, 5 Oct 2012 01:00:38 +0000 (03:00 +0200)]
r600g: remove the dual_src_blend flag from the shader key
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Fri, 5 Oct 2012 00:45:29 +0000 (02:45 +0200)]
r600g: atomize blend state
This is not so trivial, because we disable blending if the dual src
blending is turned on and the number of color outputs is less than 2.
I decided to create 2 command buffers in the blend state object and just
switch between them when needed, because there are other states unrelated
to blending (like the color mask) and those shouldn't be changed
(the old code had it wrong).
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Sun, 7 Oct 2012 01:47:43 +0000 (03:47 +0200)]
r600g: inline r600_atom_dirty
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Thu, 4 Oct 2012 22:20:27 +0000 (00:20 +0200)]
r600g: remove the "atom" variable from r600_command_buffer
r600_command_buffer is not an atom.
The "atoms" have evolved into state slots (or groups of state slots) where
you can bind states. There is a fixed amount of atoms (state slots)
in the context.
The command buffers are nothing like that. They represent states, not state
slots.
We could probably give r600_atom a better name someday.
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Eric Anholt [Tue, 25 Sep 2012 21:45:16 +0000 (14:45 -0700)]
egl: Remove bogus invalidate code.
The invalidate event support is a careful dance between driver and loader,
where both have to say they can handle it, and then the loader reports
invalidate events for the driver so the driver can do the optimization.
The EGL code doesn't report __DRIuseInvalidateExtension to the driver, so it
has no responsibility to call the driver's invalidate function, and the driver
is doing the glViewport hack because it assume. This is not
the only time invalidate would need to be called (we need it *any* time an
invalidate event comes down the pipe, but we don't watch for them), so just
stop calling the driver's function.
Acked-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 21:05:30 +0000 (14:05 -0700)]
egl: Add support for driconf control of swapinterval.
This behavior mostly matches glx_dri2. It's slightly complicated in
comparison because EGL exposes the implementation limits in the EGL config.
Note that platform_x11 was the only one setting swap_available, so the move of
the MaxSwapInterval into it is appropriate.
Acked-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 19:26:39 +0000 (12:26 -0700)]
glx: Replace DRI2SwapBuffers() custom protocol with XCB.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 19:16:49 +0000 (12:16 -0700)]
glx: Fix some indentation.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 19:15:19 +0000 (12:15 -0700)]
glx: Replace DRI2SwapInterval custom protocol with XCB.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 19:14:44 +0000 (12:14 -0700)]
glx: Reuse setSwapInterval for setting initial swap interval.
Eric Anholt [Thu, 4 Oct 2012 20:42:16 +0000 (13:42 -0700)]
glx: Allow glXSwapInterval(0) when vblank_mode=0.
There's no reason to say no in this case.
Eric Anholt [Tue, 25 Sep 2012 19:05:28 +0000 (12:05 -0700)]
glx: Replace DRI2GetMSC custom protocol with XCB.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 19:01:27 +0000 (12:01 -0700)]
glx: Replace DRI2WaitForMSC custom protocol with XCB.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 18:39:17 +0000 (11:39 -0700)]
glx: Replace DRI2WaitForSBC custom protocol with XCB.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 18:40:36 +0000 (11:40 -0700)]
glx/dri1: Remove uncompiled __DRI_SWAP_BUFFER_COUNTER code.
It's been in place but never enabled since 2010. Note how one piece called a
DRI2 function, suggesting never being tested.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 16:03:48 +0000 (09:03 -0700)]
egl: Quit checking for a bug in old xcb when we require new xcb.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 16:09:47 +0000 (09:09 -0700)]
egl: Drop xcb ifdefs by just requiring a version from this year.
glx and gallium's xcb_dri2 usage already require this version, so this is
nothing really new.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 16:01:20 +0000 (09:01 -0700)]
egl: Unifdef dri_interface.h defines.
dri_interface.h comes from our tree, so why litter our tree with ifdefs for
older versions of it?
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 16:00:04 +0000 (09:00 -0700)]
glx: Unifdef some dri_interface.h defines.
dri_interface.h comes from our tree, so why litter our tree with ifdefs for
older versions of it?
I left in the DRI_TEX_BUFFER_VERSION ifdefs, which is broken and uncompiled
(the version wasn't bumped from 2 to 3 when the patch was landed), but I don't
know what should be done with it.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 15:43:44 +0000 (08:43 -0700)]
glx: Require xcb_dri2 for building glxdri2.c.
I'm going to transition a bunch of the protocol to using XCB so we can stop
rolling it ourselves.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 16:07:04 +0000 (09:07 -0700)]
glx: Remove the last user of -DUSE_XCB.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 15:39:39 +0000 (08:39 -0700)]
glx: Unifdef USE_XCB.
It's been required for building glx since
b518dfb513742984f27577d25566f93afd86d4fc in january.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Eric Anholt [Tue, 25 Sep 2012 17:09:12 +0000 (10:09 -0700)]
egl: Cleanly cast EGLNative* pointers to X11 types.
The EGLNative* types are all defined to be pointers across all our EGL
implementations, but in the X11 platform they're actually just XIDs (32-bit
integers).
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Vincent Lejeune [Sun, 23 Sep 2012 17:46:53 +0000 (19:46 +0200)]
r600g: use a select to handle front/back color in llvm
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Vincent Lejeune [Sun, 23 Sep 2012 14:52:30 +0000 (16:52 +0200)]
r600g: frontcolor tracks its associated backcolor
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Matt Turner [Fri, 7 Sep 2012 18:12:11 +0000 (11:12 -0700)]
Remove VAAPI support.
Not working and unmaintained.
Reviewed-by: Christian König <christian.koenig@amd.com>
Marcin Slusarz [Tue, 9 Oct 2012 20:36:35 +0000 (22:36 +0200)]
nv50: fix build after "nv50: fix printf warning"
When compiled with C++ compiler, inttypes.h defines PRI* macros only when
__STDC_FORMAT_MACROS is defined.
Marcin Slusarz [Mon, 1 Oct 2012 23:52:23 +0000 (01:52 +0200)]
nouveau: use pre-calculated stride for resource_get_handle
Fixes FDO#55294.
NOTE: This is a candidate for the 9.0 branch.
Tom Stellard [Tue, 9 Oct 2012 19:54:12 +0000 (19:54 +0000)]
r600g: Fix build with --enable-opencl
Ian Romanick [Tue, 9 Oct 2012 00:50:38 +0000 (17:50 -0700)]
mesa/tests: Remove driverCtx parameter from call to _mesa_initialize_context
Fixes 'make check' breakage since
733dba2.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Quentin Glidic [Tue, 9 Oct 2012 13:15:47 +0000 (15:15 +0200)]
intel: Add missing #include <time.h>
Commit
006c1a3c652803e2ff8d5f7ea55c9cb5d8353279 introduced a call to
clock_gettime, but failed to include <time.h>, breaking the build in
some cases.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Kenneth Graunke [Mon, 8 Oct 2012 16:51:08 +0000 (09:51 -0700)]
i965: Delete some dead code from brw_eu_emit.c.
Presumably some of this was used by the old fragment shader backend.
Andreas Boll [Tue, 9 Oct 2012 15:50:27 +0000 (17:50 +0200)]
docs: add missing release date
Andreas Boll [Tue, 9 Oct 2012 15:36:41 +0000 (17:36 +0200)]
docs: update release notes for 9.0
Andreas Boll [Tue, 9 Oct 2012 15:11:06 +0000 (17:11 +0200)]
docs: add news item for 9.0 release
Reviewed-by: Brian Paul <brianp@vmware.com>
ported manually from
8e73273cb95626d9def012eeb508160e4022ff60
Brian Paul [Mon, 8 Oct 2012 23:45:57 +0000 (17:45 -0600)]
mesa: remove unused _mesa_cpal_compressed_format_type() function
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Marek Olšák [Tue, 9 Oct 2012 12:38:43 +0000 (14:38 +0200)]
nv50: fix printf warning
Marek Olšák [Tue, 9 Oct 2012 12:34:27 +0000 (14:34 +0200)]
nv30: fix type conversion warning
Marek Olšák [Tue, 9 Oct 2012 12:33:16 +0000 (14:33 +0200)]
i915g: fix unused variable and type conversion warnings
Daniel Stone [Tue, 9 Oct 2012 03:41:38 +0000 (14:41 +1100)]
teximage: Remove unnecessary compressed format check
Ever since
df4a88ac, the check for compressed formats has been
unnecessary. And ever since
cb72ec5f, the build has been broken with
FEATURE_ES. Remove it, as it does nothing.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Marek Olšák <maraeo@gmail.com>
Andreas Boll [Fri, 5 Oct 2012 21:14:10 +0000 (23:14 +0200)]
docs: update FAQ
Reported-by: Fabio Pedretti <fabio.ped@libero.it>
v2: (Chad Versace <chad.versace@linux.intel.com>)
- Rewrite FAQ - proper place for installing mesa.
v3: fix some typos
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Ben Skeggs [Mon, 8 Oct 2012 00:25:39 +0000 (10:25 +1000)]
nv50: point vertex runout at a valid address
Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Mon, 8 Oct 2012 00:16:49 +0000 (10:16 +1000)]
nvc0: point vertex runout at a valid address
Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Sun, 7 Oct 2012 23:13:46 +0000 (09:13 +1000)]
nvc0: fix missing permanent bo reference on poly cache
Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Brian Paul [Mon, 8 Oct 2012 23:31:10 +0000 (17:31 -0600)]
Revert "st/mesa: remove unused variables to fix compile warnings"
This reverts commit
810d2e167c5a507084d1865a260809b847ca3201.
The pscreen variable is used in an assertion. Use "(void) pscreen;"
to silence the warning.
Brian Paul [Mon, 8 Oct 2012 21:18:48 +0000 (15:18 -0600)]
mesa: minor whitespace fixes in teximage.c
Marek Olšák [Mon, 8 Oct 2012 23:11:56 +0000 (01:11 +0200)]
st/mesa: remove unused variables to fix compile warnings
Marek Olšák [Mon, 8 Oct 2012 23:11:56 +0000 (01:11 +0200)]
mesa: remove unused variables to fix compile warnings
Marek Olšák [Mon, 8 Oct 2012 23:11:56 +0000 (01:11 +0200)]
softpipe: initialize quadColor2 to fix compile warnings
Marek Olšák [Mon, 8 Oct 2012 23:11:56 +0000 (01:11 +0200)]
r600g: remove unused variables to fix compile warnings
Marek Olšák [Mon, 8 Oct 2012 23:10:56 +0000 (01:10 +0200)]
llvmpipe: remove unused variables to fix compile warnings
Stéphane Marchesin [Mon, 8 Oct 2012 19:30:46 +0000 (12:30 -0700)]
i915g: Don't clobber I915_NEW_FS on new framebuffer.
This snuck in with a previous commit.
Eric Anholt [Fri, 21 Sep 2012 14:06:17 +0000 (16:06 +0200)]
i965/fs: Improve performance of copy/constant propagation.
Use a simple chaining hash table for the ACP. This is not really very good,
because we still do a full walk of the tree per destination write, but it
still reduces fp-long-alu runtime from 5.3 to 3.9s.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 21 Sep 2012 11:11:54 +0000 (13:11 +0200)]
i965/fs: Move constant propagation to the same codebase as copy prop.
This means that we don't get constant prop across into the first block after a
BRW_OPCODE_IF or a BRW_OPCODE_DO, but we have hope for properly doing it
across control flow at some point. More importantly, with the next commit it
will help avoid O(n^2) with instruction count runtime for shaders that have
many constant moves.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Tue, 18 Sep 2012 09:29:43 +0000 (02:29 -0700)]
i965: Remove the old ARB_fragment_program backend.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Mon, 27 Aug 2012 21:35:01 +0000 (14:35 -0700)]
i965: Replace brw_wm_* with dumping code into the fs_visitor.
This makes a giant pile of code newly dead. It also fixes TXB on newer
chipsets, which has been totally broken (I now have a piglit test for that).
It passes the same set of Ian's ARB_fragment_program tests. It also improves
high-settings ETQW performance by 3.2 +/- 1.9% (n=3), thanks to better
optimization and having 8-wide along with 16-wide shaders.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=24355
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Fri, 21 Sep 2012 14:04:52 +0000 (16:04 +0200)]
i965: Reduce maximum GL_ARB_fragment_program instruction count to 1024.
I don't know of any programs that would need more than this. The larger
programs I've seen have neared 100 instructions. This prevent excessive
runtimes of automatic tests that attempt to test up to the exposed maximums
(like fp-long-alu).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Thu, 20 Sep 2012 09:06:07 +0000 (11:06 +0200)]
i965/fs: Add a couple more algebraic cases that help some ARB_fp patterns.
ARB_fp doesn't go through the GLSL optimizer, and these were things you see
frequently thanks to conditionals being lowered to SLT/SGE and MUL.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Sat, 22 Sep 2012 15:25:20 +0000 (17:25 +0200)]
i965/fs: Pull ir_binop_min/ir_binop_max handling to a separate function.
This will be reused from the ARB_fp compiler. I touched up the pre-gen6 path
to not overwrite dst in the first instruction, which prevents the need for
aliasing checks (we'll need that in the ARB_fp compiler, but it actually
hasn't been needed in this codebase since the revert of the nasty old
MOV-avoidance code). I also made the conditional_mod between gen6 and
pre-gen6 consistent, which shouldn't matter except for denorm/(+/-)0
comparisons where the choice between left and right hand side of the
comparison changes.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Sat, 22 Sep 2012 14:56:02 +0000 (16:56 +0200)]
i965/fs: Refactor rectangle/GL_CLAMP texture coordinate adjustment.
We'll want to reuse this for ARB_fp handling.
v2: Fold the remaining bit of emit_texcoord back into visit(ir_texture).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Tue, 18 Sep 2012 16:12:48 +0000 (18:12 +0200)]
i965/fs: Pass fragment depth to the fb write as a fs_reg, not an ir_variable.
This will be used for the ARB_fp change to use this backend.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Eric Anholt [Thu, 20 Sep 2012 09:39:10 +0000 (11:39 +0200)]
mesa: Note that OPCODE_RFL is not part of ARB_fp (it's NV_fp only).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
José Fonseca [Mon, 8 Oct 2012 10:40:58 +0000 (11:40 +0100)]
st/wgl: Don't cache HDC anywhere.
Applications may destroy HDC at any time. So always get a HDC as needed.
Fixes lack of presents with Solidworks eDrawings when screen resolution is
changed.
Reviewed-by: Brian Paul <brianp@vmware.com>
Ian Romanick [Fri, 5 Oct 2012 22:19:45 +0000 (15:19 -0700)]
meta: Make shader template literal strings be parameters to asprintf
This enables the C compiler to generate warnings if the formats and the
arguments don't match.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Ian Romanick [Fri, 5 Oct 2012 22:17:29 +0000 (15:17 -0700)]
meta: Always enable GL_EXT_texture_array in mipmap shader
'#extension foo: enable' is harmless. The functionality is only
actually enabled if the extension is supported. The shader won't use
the functionality if it's not supported, so we're fine.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Ian Romanick [Fri, 5 Oct 2012 22:16:24 +0000 (15:16 -0700)]
meta: Since mipmap output type is always vec4, don't sprintf it
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Ian Romanick [Fri, 5 Oct 2012 22:22:54 +0000 (15:22 -0700)]
meta: Don't use GLSL 1.30 shader on OpenGL ES 2
Fixes GLES2 CoverageGL conformance test.
NOTE: This is a candidate for the 9.0 branch.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Ian Romanick [Fri, 5 Oct 2012 22:13:34 +0000 (15:13 -0700)]
meta: Rearrange shader creation in setup_glsl_generate_mipmap
The diff looks weird, but this moves the code from the first 'if
(ctx->Const.GLSLVersion < 130)' block down into the second block. It
also moves some variable decalarations closer to their use.
NOTE: This is a candidate for the 9.0 branch.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Ian Romanick [Fri, 5 Oct 2012 22:11:31 +0000 (15:11 -0700)]
meta: Remove unsafe global mem_ctx pointer
NOTE: This is a candidate for the 9.0 branch.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Stéphane Marchesin [Sat, 6 Oct 2012 20:08:36 +0000 (13:08 -0700)]
i915g: Call draw_set_mapped_vertex_buffer from draw_vbo
This regressed with the draw rework. Fixes glest and vdrift crash.
Marek Olšák [Sat, 6 Oct 2012 03:23:47 +0000 (05:23 +0200)]
r600g: fix possible issue with stencil mipmap rendering
Somehow I only hit this issue with my latest libdrm changes.
This won't be needed with DB texturing.
NOTE: This is a candidate for the 9.0 branch.
Marek Olšák [Sat, 29 Sep 2012 01:33:29 +0000 (03:33 +0200)]
r600g: ensure PERFECT_ZPASS+NOOP_CULL_DISABLE are 0 for blits+decompression
When an occlusion query was active, the derived DB state wasn't changed
for u_blitter even though all the occlusion queries were suspended.
It's fixed by moving the state update into the emit functions, which are
called whenever queries are stopped or suspended.
Marek Olšák [Sun, 23 Sep 2012 21:12:17 +0000 (23:12 +0200)]
r600g: don't modify pipe_resource in resource_copy_region, fixing race condition
pipe_resource can be shared between contexts, we shouldn't modify its
description. Instead, let's use the resource "views" (sampler views and
surfaces), where we can freely change almost any property of a resource.
Marek Olšák [Mon, 24 Sep 2012 23:43:49 +0000 (01:43 +0200)]
r600g: fix streamout on RS780 and RS880
The latest kernel from git is required. Transform feedback (along with GL3.0)
is turned off on older kernels.
Marek Olšák [Thu, 4 Oct 2012 20:31:49 +0000 (22:31 +0200)]
gallium: allow debug helpers in the release build
No idea why this is #ifdef'd. Trace and Noop are definitely useful no matter
how Mesa is built.
Reviewed-by: Brian Paul <brianp@vmware.com>
Brian Paul [Sat, 29 Sep 2012 14:47:56 +0000 (08:47 -0600)]
mesa: remove the driverCtx parameter to _mesa_create/initialize_context()
No longer used.
Brian Paul [Sat, 29 Sep 2012 14:47:56 +0000 (08:47 -0600)]
mesa: remove unused gl_context::DriverCtx field
Brian Paul [Sat, 29 Sep 2012 14:47:55 +0000 (08:47 -0600)]
radeon/r200: remove use of gl_context::DriverCtx field
Brian Paul [Sat, 29 Sep 2012 14:47:55 +0000 (08:47 -0600)]
radeon/r200: make radeon_context subclass of gl_context
radeon_context now contains a gl_context, rather than a pointer to one.
This will allow some minor core Mesa clean-up.
Kenneth Graunke [Tue, 2 Oct 2012 03:11:38 +0000 (20:11 -0700)]
mesa: Flag _NEW_VARYING_VP_INPUTS when TexEnv programs are active.
The idea here is to not flag _NEW_VARYING_VP_INPUTS when shaders (either
GLSL or ARB vp/fp) are in use. If either TNL or TexEnv programs are
active, at least one stage is using fixed function.
On Pineview, fixes 20 Piglit, 60 oglconforms, and 7 ES 1.1 conformance
tests, as well as missing textures in Xonotic. These were all
regressions since commit
fb4a34e60eb4c1bdc7b0fdcd98d1bf3038c354e8.
NOTE: This is a candidate for the 9.0 branch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49127
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54807
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Stéphane Marchesin [Fri, 5 Oct 2012 00:57:31 +0000 (17:57 -0700)]
i915g: Get rid of the fixup state functions.
Now that the saved_* state is gone, we don't need those any longer.
Stéphane Marchesin [Fri, 5 Oct 2012 00:37:37 +0000 (17:37 -0700)]
i915g: Remove the i915_context->saved_* stuff.
When using u_blitter, the state was being saved from saved_*, but we
don't use that. So after u_blitter resumed we got some corrupted
state in.
So let's just remove the saved_* stuff. I thought it was weird but
harmless, it's actually broken.