mesa.git
9 years agoradeon: Alphabetize source list.
Matt Turner [Sun, 7 Dec 2014 05:57:15 +0000 (21:57 -0800)]
radeon: Alphabetize source list.

9 years agonouveau: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 05:56:41 +0000 (21:56 -0800)]
nouveau: Add headers to distribution.

9 years agonouveau: Alphabetize source list.
Matt Turner [Sun, 7 Dec 2014 05:55:35 +0000 (21:55 -0800)]
nouveau: Alphabetize source list.

9 years agoi965: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 05:53:00 +0000 (21:53 -0800)]
i965: Add headers to distribution.

9 years agoi965: Alphabetize source list.
Matt Turner [Sun, 7 Dec 2014 05:50:58 +0000 (21:50 -0800)]
i965: Alphabetize source list.

9 years agoi915: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 05:47:26 +0000 (21:47 -0800)]
i915: Add headers to distribution.

9 years agoi915: Alphabetize source list.
Matt Turner [Sun, 7 Dec 2014 05:45:36 +0000 (21:45 -0800)]
i915: Alphabetize source list.

9 years agoloader: Add headers to distribution.
Matt Turner [Sat, 5 Apr 2014 17:09:26 +0000 (10:09 -0700)]
loader: Add headers to distribution.

9 years agoprogram: Add lex and yacc sources to distribution.
Matt Turner [Tue, 12 Nov 2013 06:35:15 +0000 (22:35 -0800)]
program: Add lex and yacc sources to distribution.

Since we have manual build rules and list the .c/.cpp files in SOURCES,
we need to explicitly list these for distribution.

9 years agoglsl: Add parser headers to distribution.
Matt Turner [Tue, 12 Nov 2013 06:24:09 +0000 (22:24 -0800)]
glsl: Add parser headers to distribution.

9 years agodrivers/common: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:50:22 +0000 (21:50 -0800)]
drivers/common: Add headers to distribution.

9 years agovbo: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:47:27 +0000 (21:47 -0800)]
vbo: Add headers to distribution.

9 years agovbo: Alphabetize VBO_FILES.
Matt Turner [Tue, 12 Nov 2013 05:45:53 +0000 (21:45 -0800)]
vbo: Alphabetize VBO_FILES.

9 years agotnl: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:44:29 +0000 (21:44 -0800)]
tnl: Add headers to distribution.

9 years agotnl: Alphabetize TNL_FILES.
Matt Turner [Tue, 12 Nov 2013 05:41:11 +0000 (21:41 -0800)]
tnl: Alphabetize TNL_FILES.

9 years agotnl_dd: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:39:40 +0000 (21:39 -0800)]
tnl_dd: Add headers to distribution.

9 years agotnl_dd: Remove dead t_dd_vb.c.
Matt Turner [Tue, 12 Nov 2013 05:38:43 +0000 (21:38 -0800)]
tnl_dd: Remove dead t_dd_vb.c.

Dead since e4344161 ("dri: Remove all DRI1 drivers").

9 years agoswrast: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:33:08 +0000 (21:33 -0800)]
swrast: Add headers to distribution.

9 years agostate_trackers: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:29:29 +0000 (21:29 -0800)]
state_trackers: Add headers to distribution.

9 years agox86: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:26:33 +0000 (21:26 -0800)]
x86: Add headers to distribution.

9 years agox86-64: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:23:20 +0000 (21:23 -0800)]
x86-64: Add headers to distribution.

9 years agosparc: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:21:49 +0000 (21:21 -0800)]
sparc: Add headers to distribution.

9 years agomath: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:20:51 +0000 (21:20 -0800)]
math: Add headers to distribution.

9 years agoprogram: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:09:24 +0000 (21:09 -0800)]
program: Add headers to distribution.

9 years agoprogram: Alphabetize PROGRAM_FILES.
Matt Turner [Tue, 12 Nov 2013 05:06:40 +0000 (21:06 -0800)]
program: Alphabetize PROGRAM_FILES.

9 years agomesa: Remove moved texcompress_rgtc_tmp.h from source list.
Matt Turner [Sun, 7 Dec 2014 04:17:51 +0000 (20:17 -0800)]
mesa: Remove moved texcompress_rgtc_tmp.h from source list.

Missed in commit ebcb2ee9.

9 years agomesa: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:00:20 +0000 (21:00 -0800)]
mesa: Add headers to distribution.

9 years agomesa: Alphabetize MAIN_FILES.
Matt Turner [Tue, 12 Nov 2013 04:51:03 +0000 (20:51 -0800)]
mesa: Alphabetize MAIN_FILES.

9 years agoglsl: Add lex and yacc sources to distribution.
Matt Turner [Tue, 12 Nov 2013 04:08:01 +0000 (20:08 -0800)]
glsl: Add lex and yacc sources to distribution.

Since we have manual build rules and list the .c/.cpp files in SOURCES,
we need to explicitly list these for distribution.

9 years agoinclude: Add remaining headers to distribution.
Matt Turner [Tue, 12 Nov 2013 03:45:05 +0000 (19:45 -0800)]
include: Add remaining headers to distribution.

9 years agoconfigure.ac: Ship .xz compressed tarballs, in addition to .gz.
Matt Turner [Sun, 7 Dec 2014 23:29:19 +0000 (15:29 -0800)]
configure.ac: Ship .xz compressed tarballs, in addition to .gz.

11 MiB -> 6.5 MiB.

9 years agoconfigure.ac: Use tar-ustar archive format.
Matt Turner [Fri, 22 Feb 2013 02:13:46 +0000 (18:13 -0800)]
configure.ac: Use tar-ustar archive format.

The default tar-v7 archive format doesn't support filenames longer than
99 characters, of which we have a few (in src/glsl/tests/lower_jumps/).

9 years agogtest: Add headers to distribution.
Matt Turner [Mon, 11 Nov 2013 02:39:55 +0000 (18:39 -0800)]
gtest: Add headers to distribution.

9 years agoglsl: Add headers to distribution.
Matt Turner [Mon, 11 Nov 2013 02:23:51 +0000 (18:23 -0800)]
glsl: Add headers to distribution.

9 years agoglsl: Distribute tests/, TODO, and README
Matt Turner [Mon, 21 Jan 2013 18:07:49 +0000 (10:07 -0800)]
glsl: Distribute tests/, TODO, and README

9 years agomesa: Add python scripts to distribution.
Matt Turner [Mon, 21 Jan 2013 02:25:51 +0000 (18:25 -0800)]
mesa: Add python scripts to distribution.

9 years agodri/common: Add files to distribution.
Matt Turner [Mon, 21 Jan 2013 02:24:37 +0000 (18:24 -0800)]
dri/common: Add files to distribution.

9 years agovgapi: Add vgapi.csv to distribution.
Matt Turner [Sun, 7 Dec 2014 08:13:43 +0000 (00:13 -0800)]
vgapi: Add vgapi.csv to distribution.

9 years agomapi: Add mapi_abi.py to EXTRA_DIST
Matt Turner [Fri, 22 Feb 2013 00:27:03 +0000 (16:27 -0800)]
mapi: Add mapi_abi.py to EXTRA_DIST

9 years agodri/common: Drop unused mmio.h.
Matt Turner [Sun, 7 Dec 2014 05:02:05 +0000 (21:02 -0800)]
dri/common: Drop unused mmio.h.

Unused since commit 7550a24f.

9 years agoglapi/gen: Add KHR_context_flush_control.xml to distribution.
Matt Turner [Sun, 7 Dec 2014 04:36:32 +0000 (20:36 -0800)]
glapi/gen: Add KHR_context_flush_control.xml to distribution.

9 years agoconfigure.ac: Drop generating egl-static and gbm Makefiles.
Matt Turner [Sun, 7 Dec 2014 04:34:10 +0000 (20:34 -0800)]
configure.ac: Drop generating egl-static and gbm Makefiles.

9 years agoutil: Add headers and python scripts for distribution.
Matt Turner [Sun, 7 Dec 2014 04:21:20 +0000 (20:21 -0800)]
util: Add headers and python scripts for distribution.

9 years agoglapi: Make mapi/glapi/gen before mapi to avoid distcheck problem.
Matt Turner [Sun, 7 Dec 2014 04:18:51 +0000 (20:18 -0800)]
glapi: Make mapi/glapi/gen before mapi to avoid distcheck problem.

9 years agor200: Avoid out of bounds array access.
Matt Turner [Sun, 7 Dec 2014 07:04:53 +0000 (23:04 -0800)]
r200: Avoid out of bounds array access.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
9 years agovc4: Fix referencing of sync objects.
Eric Anholt [Fri, 12 Dec 2014 08:06:21 +0000 (00:06 -0800)]
vc4: Fix referencing of sync objects.

While the pipe_reference_* helpers set the pointer, a bare pipe_reference
doesn't.   Fixes 5 ARB_sync tests.

9 years agoutil: Unbreak usage of assert()/debug_assert() inside expressions.
José Fonseca [Fri, 12 Dec 2014 14:06:17 +0000 (14:06 +0000)]
util: Unbreak usage of assert()/debug_assert() inside expressions.

f0ba7d897d1c22202531acb70f134f2edc30557d made debug_assert()/assert()
unsafe for expressions, but only now that u_atomic.h started to rely on
them for Windows that this became an issue.

This fixes non-debug builds with MSVC.
Reviewed-by: Brian Paul <brianp@vmware.com>
9 years agovc4: Consider FS backface color loads as color inputs as well.
Eric Anholt [Fri, 12 Dec 2014 05:28:12 +0000 (21:28 -0800)]
vc4: Consider FS backface color loads as color inputs as well.

This fixes flatshading of backface color in 4 of the piglit interpolation
tests.

9 years agovc4: Drop redundant index size setting.
Eric Anholt [Fri, 12 Dec 2014 04:34:57 +0000 (20:34 -0800)]
vc4: Drop redundant index size setting.

This is already done at set_index_buffer() time.

9 years agovc4: Don't throw out the index offset in the shadow index buffer path.
Eric Anholt [Fri, 12 Dec 2014 04:34:06 +0000 (20:34 -0800)]
vc4: Don't throw out the index offset in the shadow index buffer path.

When we upload shadow indices at draw time, we need the source offset.
Fixes the piglit draw-elements test.

9 years agovc4: Fix triangle-guardband-viewport piglit test.
Eric Anholt [Fri, 12 Dec 2014 04:11:21 +0000 (20:11 -0800)]
vc4: Fix triangle-guardband-viewport piglit test.

The original Broadcom driver also did this with the viewport.

9 years agovc4: Fix a memory leak in setting up QPU instructions for scheduling.
Eric Anholt [Fri, 12 Dec 2014 03:56:42 +0000 (19:56 -0800)]
vc4: Fix a memory leak in setting up QPU instructions for scheduling.

9 years agoi965/gen8+: Remove false perf debug message about MOCS
Ben Widawsky [Thu, 11 Dec 2014 20:40:20 +0000 (12:40 -0800)]
i965/gen8+: Remove false perf debug message about MOCS

We support MOCS on both gen8 and gen9, so the message seems meaningless. Remove
it to avoid confusion.

Trivial.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965/gen8: Check correct number of blitter dwords
Ben Widawsky [Thu, 11 Dec 2014 04:00:51 +0000 (20:00 -0800)]
i965/gen8: Check correct number of blitter dwords

The odds of having this patch make a difference on Gen8+ are probably very low.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-but-not-tested-by: Jason Ekstrand <jason.ekstrand@intel.com>
9 years agomesa/drivers: Add missing mesautil lib to Haiku swrast
Alexander von Gluck IV [Thu, 11 Dec 2014 03:28:50 +0000 (03:28 +0000)]
mesa/drivers: Add missing mesautil lib to Haiku swrast

* Resolves missing util_format_linear_to_srgb_8unorm_table symbol.

9 years agodraw: simplify prim id insertion in prim assembler
Roland Scheidegger [Wed, 10 Dec 2014 02:09:17 +0000 (03:09 +0100)]
draw: simplify prim id insertion in prim assembler

Because all topologies are reduced to basic primitives (i.e. no strips, fans)
and the vertices involved are all copied, there's no need for any elaborate
decisions where to insert the prim id. The logic employed was correct for
first provoking vertex, but didn't account at all for the last provoking
vertex case. And since we now will get the right constant value even if the
primitive type is later changed (for unfilled etc.) this is no longer
required to pass certain tests (which were checking for prim_id == some
const interpolated value so passing because both were wrong in the end).
This is a bit overkill (3x4 values assigned in total even though it's really
one scalar per prim...) but the code is now much easier and I don't need to
add more cases for last provoking vertex.

This fixes piglit primitive-id-no-gs-strip test.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
9 years agodraw: fix another decompose bug affecting constant interpolated attributes
Roland Scheidegger [Wed, 10 Dec 2014 18:39:19 +0000 (19:39 +0100)]
draw: fix another decompose bug affecting constant interpolated attributes

Previously the first provoking vertex convention would only be used if
flatshading were enabled. No matter how I look at it that cannot be possibly
correct. Maybe the code getting used was somewhat simpler that way at a time
where there weren't constant interpolated attributes, only flatshading...
(Note that all other places including the decomposition macros already do
the same.)

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
9 years agodraw: fix flatshade stage for constant interpolated values
Roland Scheidegger [Wed, 10 Dec 2014 19:07:25 +0000 (20:07 +0100)]
draw: fix flatshade stage for constant interpolated values

This stage only worked for traditional old-school flatshading, it did ignore
constant interpolated values and only handled colors, the code probably
predates using of constant interpolated values in gallium. So fix this - the
clip stage apparently did this a long time ago already.
Unfortunately this also means the stage needs to be invoked when flatshading
isn't enabled but some other prim changing stages are - for instance with
fill mode line each of the 3 lines in a tri should get the same attribute
value from the leading vertex in the original tri if interpolation is constant,
which did not happen before
Due to that, the stage is now run in more cases, even unnecessary ones. Could
in theory skip it completely if there aren't any constant interpolated
attributes (and rast->flatshade isn't set), but not sure it's worth bothering,
as it looks kinda complicated getting this information in advance.

No piglit change (doesn't really cover this directly).

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
9 years agodraw: copy over prim id header in flatshade stage when emitting lines
Roland Scheidegger [Wed, 10 Dec 2014 19:01:27 +0000 (20:01 +0100)]
draw: copy over prim id header in flatshade stage when emitting lines

Just like we do for tris (det shouldn't matter at this point, however
can have flags for things like line stipple reset).

No piglit change, it would fail line stippling tests if the flatshade
stage were run, which will happen with the next commit.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
9 years agogallium/docs: clarify fragment shader position input w component.
Roland Scheidegger [Mon, 8 Dec 2014 18:07:10 +0000 (19:07 +0100)]
gallium/docs: clarify fragment shader position input w component.

The previous language was a bit misleading, since it sounded like
w was interpolated then the reciprocal calculated which isn't what
should be happening.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
9 years agodocs/relnotes: document the removal of GALLIUM_MSAA
Marek Olšák [Wed, 10 Dec 2014 18:59:53 +0000 (19:59 +0100)]
docs/relnotes: document the removal of GALLIUM_MSAA

Cc: 10.2.10.3 10.4 <mesa-stable@lists.freedesktop.org>
9 years agoradeonsi: take into account NULL colorbuffers when computing CB_TARGET_MASK
Marek Olšák [Mon, 8 Dec 2014 14:58:42 +0000 (15:58 +0100)]
radeonsi: take into account NULL colorbuffers when computing CB_TARGET_MASK

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: only emit line stippling and provoking vertex state when it changes
Marek Olšák [Mon, 8 Dec 2014 12:35:36 +0000 (13:35 +0100)]
radeonsi: only emit line stippling and provoking vertex state when it changes

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: fix SPI state dependency on sprite_coord_enable
Marek Olšák [Mon, 8 Dec 2014 11:51:59 +0000 (12:51 +0100)]
radeonsi: fix SPI state dependency on sprite_coord_enable

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: fix line stippling and provoking vertex state for GS primitives
Marek Olšák [Mon, 8 Dec 2014 11:41:37 +0000 (12:41 +0100)]
radeonsi: fix line stippling and provoking vertex state for GS primitives

I'm not sure if GS hw outputs line lists or line strips.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: emit DRAW_PREAMBLE only if it changes
Marek Olšák [Sun, 7 Dec 2014 19:23:56 +0000 (20:23 +0100)]
radeonsi: emit DRAW_PREAMBLE only if it changes

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: remove setting of VGT_DISPATCH_DRAW_INDEX
Marek Olšák [Mon, 8 Dec 2014 14:17:20 +0000 (15:17 +0100)]
radeonsi: remove setting of VGT_DISPATCH_DRAW_INDEX

It's used only if VGT_SHADER_STAGES_EN.DISPATCH_DRAW_EN is 1, which we don't
set.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: emit GS_OUT_PRIM_TYPE only if it changes
Marek Olšák [Sun, 7 Dec 2014 19:15:49 +0000 (20:15 +0100)]
radeonsi: emit GS_OUT_PRIM_TYPE only if it changes

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: emit primitive restart only if it changes
Marek Olšák [Sun, 7 Dec 2014 19:14:41 +0000 (20:14 +0100)]
radeonsi: emit primitive restart only if it changes

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: emit base vertex and start instance only if they change
Marek Olšák [Sun, 7 Dec 2014 19:04:40 +0000 (20:04 +0100)]
radeonsi: emit base vertex and start instance only if they change

v2: added a helper function for invalidation of the sh constants

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: emit clip registers only if VS, GS, or rasterizer is changed
Marek Olšák [Sun, 7 Dec 2014 18:40:44 +0000 (19:40 +0100)]
radeonsi: emit clip registers only if VS, GS, or rasterizer is changed

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: get info about VS outputs from tgsi_shader_info
Marek Olšák [Sun, 7 Dec 2014 18:30:08 +0000 (19:30 +0100)]
radeonsi: get info about VS outputs from tgsi_shader_info

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: move all shader-related functions to a new file si_state_shaders.c
Marek Olšák [Sun, 7 Dec 2014 16:53:56 +0000 (17:53 +0100)]
radeonsi: move all shader-related functions to a new file si_state_shaders.c

This huge amount of code deserves its own file.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: generate derived and draw-related registers directly in the CS
Marek Olšák [Sun, 7 Dec 2014 15:40:09 +0000 (16:40 +0100)]
radeonsi: generate derived and draw-related registers directly in the CS

The big function is split into 3 smaller functions.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: si_conv_pipe_prim shouldn't fail
Marek Olšák [Sun, 7 Dec 2014 15:02:07 +0000 (16:02 +0100)]
radeonsi: si_conv_pipe_prim shouldn't fail

An assertion should suffice.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: remove useless variable si_context::pm4_dirty_cdwords
Marek Olšák [Sun, 7 Dec 2014 14:58:46 +0000 (15:58 +0100)]
radeonsi: remove useless variable si_context::pm4_dirty_cdwords

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: remove unused draw packet functions
Marek Olšák [Sun, 7 Dec 2014 14:53:01 +0000 (15:53 +0100)]
radeonsi: remove unused draw packet functions

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: emit draw packets directly into the CS
Marek Olšák [Sun, 7 Dec 2014 14:52:15 +0000 (15:52 +0100)]
radeonsi: emit draw packets directly into the CS

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agoradeonsi: add emit util functions for SH registers
Marek Olšák [Sun, 7 Dec 2014 14:48:40 +0000 (15:48 +0100)]
radeonsi: add emit util functions for SH registers

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
9 years agotgsi: add tgsi_shader_info::writes_clipvertex
Marek Olšák [Sun, 7 Dec 2014 18:20:10 +0000 (19:20 +0100)]
tgsi: add tgsi_shader_info::writes_clipvertex

Reviewed-by: Brian Paul <brianp@vmware.com>
9 years agotgsi: add clip and cull distance writemasks into tgsi_shader_info
Marek Olšák [Sun, 7 Dec 2014 18:08:28 +0000 (19:08 +0100)]
tgsi: add clip and cull distance writemasks into tgsi_shader_info

Reviewed-by: Brian Paul <brianp@vmware.com>
9 years agotgsi: add tgsi_shader_info::writes_psize
Marek Olšák [Sun, 7 Dec 2014 17:49:31 +0000 (18:49 +0100)]
tgsi: add tgsi_shader_info::writes_psize

Reviewed-by: Brian Paul <brianp@vmware.com>
9 years agocso: put cso_release_all into cso_destroy_context
Marek Olšák [Sun, 7 Dec 2014 13:21:41 +0000 (14:21 +0100)]
cso: put cso_release_all into cso_destroy_context

Reviewed-by: Brian Paul <brianp@vmware.com>
9 years agoi965: Generate vs code using scalar backend for BDW+
Kristian Høgsberg [Tue, 21 Oct 2014 06:29:41 +0000 (23:29 -0700)]
i965: Generate vs code using scalar backend for BDW+

With everything in place, we can now use the scalar backend compiler for
vertex shaders on BDW+.  We make scalar vertex shaders the default on
BDW+ but add a new vec4vs debug option to force the vec4 backend.

No piglit regressions.

Performance impact is minimal, I see a ~1.5 improvement on the T-Rex
GLBenchmark case, but in general it's in the noise.  Some of our
internal synthetic, vs bounded benchmarks show great improvement, 20%-40%
in some cases, but real-world cases are mostly unaffected.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Clean up fs_visitor::run and rename to run_fs
Kristian Høgsberg [Tue, 28 Oct 2014 06:36:31 +0000 (23:36 -0700)]
i965: Clean up fs_visitor::run and rename to run_fs

Now that fs_visitor::run is back to being only fragment
shader compilation, we can clean up a few stage == MESA_SHADER_FRAGMENT
conditions and rename it to run_fs.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Add fs_visitor::run_vs() to generate scalar vertex shader code
Kristian Høgsberg [Tue, 28 Oct 2014 05:42:50 +0000 (22:42 -0700)]
i965: Add fs_visitor::run_vs() to generate scalar vertex shader code

This patch uses the previous refactoring to add a new run_vs() method
that generates vertex shader code using the scalar visitor and
optimizer.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Rename brw_vec4_prog_data/key to brw_bue_prog_data/key
Kristian Høgsberg [Tue, 25 Nov 2014 22:29:48 +0000 (14:29 -0800)]
i965: Rename brw_vec4_prog_data/key to brw_bue_prog_data/key

These structs aren't vec4 specific, they are shared by shader stages
operating on Vertex URB Entries (VUEs).  VUEs are the data structures in
the URB that hold vertex data between the pipeline geometry stages.
Using vue in the name instead of vec4 makes a lot more sense, especially
when we add scalar vertex shader support.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Prepare for using the ATTR register file in the fs backend
Kristian Høgsberg [Tue, 21 Oct 2014 06:16:48 +0000 (23:16 -0700)]
i965: Prepare for using the ATTR register file in the fs backend

The scalar vertex shader will use the ATTR register file for vertex
attributes.  This patch adds support for the ATTR file to fs_visitor.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Consolidate code to get struct brw_sampler_prog_key_data
Kristian Høgsberg [Tue, 21 Oct 2014 06:13:07 +0000 (23:13 -0700)]
i965: Consolidate code to get struct brw_sampler_prog_key_data

This chunk of code is repeated in a few places, and we're going to add
a MESA_SHADER_VERTEX case to it soon.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Add new SIMD8 VS prog data flag
Kristian Høgsberg [Tue, 21 Oct 2014 06:05:09 +0000 (23:05 -0700)]
i965: Add new SIMD8 VS prog data flag

This flag signals that we have a SIMD8 VS shader so we can set up the
corresponding state accordingly.  This boils down to setting
the BDW+ SIMD8 enable bit in 3DSTATE_VS and making UBO and pull
constant buffers use dword pitch.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Add SIMD8 URB write low-level IR instruction
Kristian Høgsberg [Tue, 21 Oct 2014 06:00:50 +0000 (23:00 -0700)]
i965: Add SIMD8 URB write low-level IR instruction

This is all we need from the generator for SIMD8 vertex shaders.  This
opcode is just the send instruction, all the hard work will happen
in the visitor using LOAD_PAYLOAD.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Remove shader program argument and member from fs_generator
Kristian Høgsberg [Tue, 28 Oct 2014 02:43:31 +0000 (19:43 -0700)]
i965: Remove shader program argument and member from fs_generator

Now that the caller passes in the shader debug name, we don't need this
anymore.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Set shader name for generator from call site
Kristian Høgsberg [Tue, 28 Oct 2014 02:40:47 +0000 (19:40 -0700)]
i965: Set shader name for generator from call site

fs_generator no longer knows what stage it's generating code for, so
we have to set the debug name of the shader from the call site.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Generalize fs_generator further
Kristian Høgsberg [Tue, 21 Oct 2014 05:53:31 +0000 (22:53 -0700)]
i965: Generalize fs_generator further

This removes all stage specific data from the generator, and lets us
create a generator for any stage.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Don't copy propagate constants from sources with saturate
Kristian Høgsberg [Tue, 28 Oct 2014 06:42:41 +0000 (23:42 -0700)]
i965: Don't copy propagate constants from sources with saturate

We don't propagate the saturate bit and some instructions can't
saturate at all.  If the source has saturate set, just skip propagation.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
9 years agoi965: Replace 'noann' debug flag with 'ann'.
Matt Turner [Thu, 13 Nov 2014 18:40:01 +0000 (10:40 -0800)]
i965: Replace 'noann' debug flag with 'ann'.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
9 years agoi965: Disable unlit-centroid workaround on Gen < 6.
Matt Turner [Tue, 9 Dec 2014 06:59:17 +0000 (22:59 -0800)]
i965: Disable unlit-centroid workaround on Gen < 6.

Back to the original commit (8313f444) adding the workaround, we were
enabling it on gens <= 7, even though gens <= 5 can't do multisampling.

I cannot find documentation that says that Sandybridge needs this
workaround but in practice disabling it causes these piglit tests to
fail:

EXT_framebuffer_multisample/interpolation {2,4} centroid-deriv{,-disabled}

On Ironlake:

total instructions in shared programs: 4358478 -> 4349671 (-0.20%)
instructions in affected programs:     117680 -> 108873 (-7.48%)

A bunch of shaders in TF2, Portal 2, and L4D2 are cut by 25~30%.

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
9 years agohgl: traverse add-on entries
Adrien Destugues [Tue, 9 Dec 2014 21:38:46 +0000 (21:38 +0000)]
hgl: traverse add-on entries

* Allow using symlinks to add-ons when developing.

9 years agogallium/target: Haiku softpipe
Alexander von Gluck IV [Tue, 9 Dec 2014 21:30:32 +0000 (21:30 +0000)]
gallium/target: Haiku softpipe

* Use print macro to fix warning on 64-bit systems

9 years agogallium/aux: Avoid redefining MAX
Alexander von Gluck IV [Tue, 9 Dec 2014 21:05:03 +0000 (21:05 +0000)]
gallium/aux: Avoid redefining MAX

* Can be redefined on some platforms through u_debug.h