72483b29aae62fd5201ce555c574a59e4b5e5e6d |
|
04-Mar-2017 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: set result writemask based on ir type This prevents textureQueryLevels, which maps as LODQ, from ending up with a xyzw writemask, which is illegal. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100061 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit dab88e9af7a35ebcdd0fc87df97f4b13e908552a)
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e59e2c664f3380642138bb27914237380ff778ce |
|
22-Feb-2017 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: avoid iterating past the head of the instruction list exec_node::get_prev() does not guard against going past the beginning of the list, so we need to add explicit checks here. Found by ASAN in piglit arb_shader_storage_buffer_object-rendering. Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit 911391bd70fe30ad970c5e56632b2d7ccc29d955)
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e4cf4690d1b20a8eab7296c79051ad05a9a5cc25 |
|
16-Jan-2017 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: use DDIV instead of DRCP + DMUL Fixes GL45-CTS.gpu_shader_fp64.built_in_functions. v2: use DDIV unconditionally (Roland) Reviewed-by: Roland Scheidegger <sroland@vmware.com> (v1) Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1) Tested-by: Glenn Kennard <glenn.kennard@gmail.com> Tested-by: James Harvey <lothmordor@gmail.com> Cc: 17.0 <mesa-stable@lists.freedesktop.org> (cherry picked from commit cfabbbcfd778cc404813c9f05a9ef79efe531980)
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6b7511c2f123014fe469a11d0b46fbff357335e4 |
|
02-Jan-2017 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: add support for advanced blend when fb can be fetched from This implements support for emitting FBFETCH ops, using the existing lowering pass for advanced blend logic, and disabling hw blend when advanced blending is enabled. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
59ac77b4101d36a150f98e5741eddc352673883d |
|
09-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa: stop passing gl_linked_shader to set_affected_state_flags() We now get everything we need from the gl_program param. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ae632afe4fd860f016d2e5b360d66dc4e72ce72a |
|
09-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa/glsl: set num_images directly in shader_info This change also removes the now duplicate NumImages field. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4807a83da0e0f5e3272e85504ee3b2213ef1910a |
|
04-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
mesa/glsl: set num_textures per stage directly in shader_info Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f62eb6c7eb22cd97c691ebdb5f25eb5fe8e9ed11 |
|
04-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa/glsl/i965: set num_ssbos directly in shader_info Here we also remove the duplicate field in gl_linked_shader and always get the value from shader_info instead. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0e7eec1ab5f27ced1aa4b2d77c2c63512d299694 |
|
04-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa/glsl/i965: move per stage UniformBlocks to gl_program This will help allow us to store pointers to gl_program structs in the CurrentProgram array resulting in a bunch of code simplifications. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b792c3897927c1d89968bc0040faef02ec976184 |
|
04-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa/glsl/i965: set num_ubos directly in shader_info This also removes the duplicate field in gl_linked_shader, and gets num_ubos from shader_info instead. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d995115b1733ec14182e6bb4653b8f8389b87518 |
|
19-Dec-2016 |
Marek Olšák <marek.olsak@amd.com> |
gallium: remove TGSI_OPCODE_SUB It's redundant with the source modifier. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a4ace98a9733b3e83d971f4871c2908749c0e5c8 |
|
19-Dec-2016 |
Marek Olšák <marek.olsak@amd.com> |
gallium: remove TGSI_OPCODE_ABS It's redundant with the source modifier. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
96fe8834f5391f8e6f308569ef8774bb274312fa |
|
31-Dec-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: do fewer optimizations with GLSLOptimizeConservatively Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d3cb79e043338b0e55a3fba8df652f3ce4894d0d |
|
31-Dec-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl: run do_lower_jumps properly in do_common_optimizations so that backends don't have to run it manually Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
700bc94dcebf4257740483d2ba467b138234fa1a |
|
03-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
mesa/glsl: move LinkedTransformFeedback from gl_shader_program to gl_program This will help allow us to store gl_program in the CurrentProgram array rather than gl_shader_program which will allow a bunch of simplifications. Note that we make LinkedTransformFeedback a pointer so we don't waste memory creating a struct for each stage. We also store a pointer to the gl_program that will contain the pointer in gl_shader_program so we can get easy access to the correct stage. Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
fd249c803e3ae2acb83f5e3b7152728e73228b7b |
|
12-Dec-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
treewide: s/comparitor/comparator/ git grep -l comparitor | xargs sed -i 's/comparitor/comparator/g' Just happened to notice this in a patch that was sent and included one of the tokens in question. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2eaacba7f28da49c2d248fa2df9feeca32f3480c |
|
29-Nov-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: plumb the GS output stream qualifier through to TGSI Allow drivers to emit GS outputs in a smarter way. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f60374aa689539c8dbdb851488be515e5e7df7cb |
|
18-Nov-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/mesa: skip lower_output_reads when possible Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0a58b258caf67aa85c49bb4160b48a61b535e2be |
|
21-Nov-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: swizzle PROGRAM_OUTPUTs correctly in src_register translation This is required for reading directly from fragment shader stencil and depth outputs. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
203c8794a1debc0e45019fe945d1cc55459e6c6f |
|
07-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa/glsl/nir/i965: make use of new gl_shader_program_data in gl_shader_program Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c20564ae3ec2b5ac6bee23751d53a92b2dc09067 |
|
11-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
glsl/i965: move per stage AtomicBuffers list to gl_program Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9d96d3803ab5dc896d4844ac785db57bb1717f91 |
|
31-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
glsl: create gl_program at the start of linking rather than the end This will allow us to directly store metadata we want to retain in gl_program this metadata is currently stored in gl_linked_shader and will be lost if relinking fails even though the program will remain in use and is still valid according to the spec. "If a program object that is active for any shader stage is re-linked unsuccessfully, the link status will be set to FALSE, but any existing executables and associated state will remain part of the current rendering state until a subsequent call to UseProgram, UseProgramStages, or BindProgramPipeline removes them from use." This change will also help avoid the double handing that happens in _mesa_copy_linked_program_data(). Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2b8f97d0ff0836b1d1c8753a81a8810df385b21d |
|
16-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa/i965: simplify gl_program references and stop leaking In i965 we were calling _mesa_reference_program() after creating gl_program and then later calling it again with NULL as a param to get the refcount back down to 1. This changes things to not use _mesa_reference_program() at all and just have gl_linked_shader take ownership of gl_program since refcount starts at 1. The st and ir_to_mesa linkers were worse as they were both getting in a state were the refcount would never get to 0 and we would leak the program. Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d6bdb3a86293da2164e9355f0262ef83afeece7f |
|
17-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa: stop initialing Instructions and NumInstructions Since gl_program is now created with rzalloc() they should already be initialised. Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
537b897f51690aa11089bec0d82e89ca712b1469 |
|
28-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: lower small branches based on the CAP Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
83d9b8a6f6365bc1569cdc847672478ac643670d |
|
03-Jul-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl/lower_if: don't lower branches touching tess control outputs Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cfb5a9ab2321ae82c28655cee0537f1d42c57933 |
|
05-Nov-2016 |
Brian Paul <brianp@vmware.com> |
st/mesa: initialize members of glsl_to_tgsi_instruction in emit_asm() This fixes random crashes with MSVC release builds. It seems the members are implicitly initialized to zero with gcc, but not MSVC. In particular, the tex_offset_num_offset field was non-zero causing a loop over the NULL tex_offsets array to crash. Zero-init those fields and a few others to be safe. The regression began with acc23b04cfd64e "ralloc: remove memset from ralloc_size". Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e4b378800eff13752dcfe1f5c6b640444208d543 |
|
03-Nov-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: fix dvec[34] loads from SSBO When splitting up loads, we have to add 16 bytes to the offset for the high components, just like already happens for stores. Fixes arb_gpu_shader_fp64@shader_storage@layout-std140-fp64-shader. Cc: 13.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4016f08854a41b50d7636fc5e3cf0dfab5029cab |
|
20-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
glsl/st/mesa: use common system values read field And set system values read directly in shader_info. st/mesa changes where: Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f79d37f1ecffcc5f7de04d5f3bb4166750703052 |
|
20-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa: use common patch outputs written field Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3d2a5039987b7182e775949ee1a4a63ea70ab289 |
|
20-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa: use common patch inputs read field Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5346630593bec80efa732c40b63e0e95a00af074 |
|
20-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
r200/glsl/st/mesa: use common outputs written field And set outputs written directly in shader_info. st/mesa changes where: Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
24093975e89178ebee19e4d00fed3d9eb2470c89 |
|
20-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa: use common double inputs read field Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e81aaeba37f5419323d8f88bc10943c77e25ed14 |
|
20-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
r200/i915/st/mesa/compiler: use common inputs read field And set set inputs_read directly in shader_info. To avoid regressions between changes this change is a squashed version of the following patches. st/mesa changes where: Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3423488d55b9c483fcdb3996eb89b424c1031d24 |
|
19-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa/r200/i915/i965: eliminate gl_fragment_program Here we move OriginUpperLeft and PixelCenterInteger into gl_program all other fields have been replace by shader_info. V2: Don't use anonymous union/structs to hold vertex/fragment fields suggested by Ian. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d9d04373c1ba2ae3e20c6b507262ee3c88c4ab78 |
|
18-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa: get interpolation location at translation time Rather then messing around creating bitfields and arrays to store the interpolation location just translate it on the fly. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
20c0e67501350952191b70c907c26019e5722243 |
|
14-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa: stop making use of InterpQualifier array A following patch is going to merge the gl_fragment_program struct into a common gl_program and we want to avoid all stages having this array. V2: use TGSI_INTERPOLATE_COUNT as the temporary placeholder. Suggested by Marek. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4ca71a1175a0065d9cf2920da94b14aa2d676b00 |
|
18-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa: switch cs over to shared shader_info Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9d2b391165e64f3c64021e5a563037e0ccc09d84 |
|
19-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
glsl: add temporary copy_shader_info() function This function is added here to ease refactoring towards using the new shared shader_info. Once refactoring is complete and values are set directly it will be removed. We call it from _mesa_copy_linked_program_data() rather than glsl_to_nir() so that the values will be set for all drivers. In order to do this some calls need to be moved around so that we make sure to call do_set_program_inouts() before _mesa_copy_linked_program_data() Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e40d32b3ec0793b475004b8f36b17f1493806271 |
|
19-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
mesa: modify _mesa_copy_linked_program_data() to take gl_linked_shader This allows us to do some small tidy ups, but will also allow us to call a new function that copies values to a shared shader info from here. In order to make this change this function now requires _mesa_reference_program() to have previously been called. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3d9b57e49304f9690c4a2b50afb8cdd4d253a1df |
|
18-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: sort input and output decls by TGSI index Fixes a regression introduced by commit 777dcf81b. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98307 Reviewed-by: Marek Olšák <marek.olsak@amd.com> Cc: 13.0 <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a1895685f8f341e7facf3c5705bdee99860e3082 |
|
16-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: fix block copies of arrays of structs Use a full writemask in this case. This is relevant e.g. when a function has an inout argument which is an array of structs. v2: use C-style comment (Timothy Arceri) Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1) Cc: 13.0 <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ca592af880b71feb8ebbf79f704380d0deb47b33 |
|
16-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: fix block copies of arrays of doubles Set the type of the left-hand side to the same as the right-hand side, so that when the base type is double, the writemask of the MOV instruction is properly fixed up. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Cc: 13.0 <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2897cb3dba9287011f9c43cd2f214100952370c0 |
|
17-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: remove code for fixing up TGSI labels I don't know what this was supposed to do, but all TGSI labels were always 0. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ec35ff4e2b71867b0c60479bea8aacd8dfd66ae5 |
|
17-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: remove subroutine support Never used. The GLSL compiler doesn't even look at EmitNoFunctions. v2: add back "return" support in "main" Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4e42898d9d8fc45bb1cf870b04c0ccd949205079 |
|
16-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: allocate glsl_to_tgsi_instruction::tex_offsets on demand sizeof(glsl_to_tgsi_instruction): 384 -> 264 Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4d3d620f26be242c9c0d92877bb69edf3ed872ed |
|
16-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: merge buffer and sampler fields in glsl_to_tgsi_instruction sizeof(glsl_to_tgsi_instruction): 416 -> 384 Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
dbf64ea28bb20bafe5a7daa4b5b179965725247e |
|
16-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: reduce the size of glsl_to_tgsi_instruction using bitfields sizeof(glsl_to_tgsi_instruction): 464 -> 416 Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9015cbb3a3afd58543e3a144b7ae57e9ed44d811 |
|
16-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: reduce the size of st_dst_reg and st_src_reg I noticed that glsl_to_tgsi_instruction is too huge. sizeof(glsl_to_tgsi_instruction): 752 -> 464 (-38%) Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
222c599b61d8b962e897d1a69002362886f28cb3 |
|
16-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: remove unused st_translate::tex_offsets Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0d95eeb79c849649fdcb32fe7f26498fb7df3d9f |
|
16-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: remove unused parameters from calc_deref_offsets Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6980480052c1b260a17f1750eccd2f4a163e27ba |
|
16-Oct-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: use array_id for temp arrays instead of hacking high bits Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c3ce0d22b4cf95992cf402a70beca3f2877bcf98 |
|
13-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: fix [ui]vec[34] conversion to double The corresponding opcodes for integers need to be treated the same as F2D. Fixes GL45-CTS.gpu_shader_fp64.conversions. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1dd99a15a4e0ffeabe0d50cbb402045e8e34d875 |
|
13-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: fix atomic counter addressing When more than one atomic counter buffer is in use, UniformStorage[n].opaque is set up to contain indices that are contiguous across all used buffers. This appears to be used by i965 via NIR, but for TGSI we do not treat atomic counter buffers as opaque, so using the data in the opaque array is incorrect. Fixes GL45-CTS.compute_shader.resource-atomic-counter. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9d6f82320c8a7f0df10f0b7868d966be907e6b21 |
|
13-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: fix a corner case of std140 layout in uniform buffers See the comment in the code for an explanation. This fixes GL45-CTS.buffer_storage.map_persistent_draw. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
15fc74905b64ab41e47d5b50407596ceaeced638 |
|
10-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: remove unnecessary ir_instruction argument from get_opcode Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1d7685e52ca64f6fcc66b8816b5adb8513b4ae18 |
|
10-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: fix textureGatherOffset with indirectly loaded offsets Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b234e377650c8280d56060ff38c55af9d7772ee4 |
|
09-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: simplify translate_tex_offset This fixes a bug with offsets from uniforms which seems to have only been noticed as a crash in piglit's arb_gpu_shader5/compiler/builtin-functions/fs-gatherOffset-uniform-offset.frag on radeonsi. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b5b4aa42ba189c8aa2339ead12784c4feb76bdbb |
|
07-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: adjust swizzles and writemasks for explicit components Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
777dcf81b956158546616aae89507cafb83b9ac5 |
|
07-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: explicitly track all input and output declaration In order to be able to emit overlapping input and output array declarations, we flip the logic of emitting those declarations on its head: rather than iterating over slots and emitting the corresponding declarations, we iterate over the declarations from GLSL and emit those. v2: fix some regressions related to structs v3: fix a regression in geometry and tessellation shader array handling Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net> (v2) Reviewed-by: Dave Airlie <airlied@redhat.com> (v2)
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2299a9940c5ac5fb42b0726afa9a67fc23ba3a48 |
|
07-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: mark "gaps" in input/output arrays as used In some cases, a shader may have an input/output array but not use some entries in the middle. This happens with eON games, for example. We emit declarations that cover the entire array range even if there are some unused gaps. This patch now reflects that in the InputsRead etc. fields to ensure the various input/outputMapping arrays are actually correct, which will be important when we re-jiggle the way declarations are emitted. v2: fix a typo (Edward O'Callaghan) Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
63193b9cdeca4f5d0e91f90c0926a1565f6b0415 |
|
07-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: disable on-the-fly peephole for 64-bit operations This optimization is incorrect with 64-bit operations, because the channel-splitting logic in emit_asm ends up being applied twice to the source operands. A lucky coincidence of how the writemask test works resulted in this optimization basically never being applied anyway. As far as I can tell, the only case where it would (incorrectly) have been applied is something like dvec2 d; float x = (float)d.y; which nobody seems to have ever done. But the moral equivalent does occur in one of the component layout piglit test. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f5f3cadca3809952288e3726ed5fde22090dc61d |
|
07-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: simpler fixup of empty writemasks Empty writemasks mean "copy everything", so we can always just use the number of vector elements (which uses the GLSL meaning here, i.e. each double is a single element/writemask bit). Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
957d5410892aa7b12bb19fe081a7073861b424a6 |
|
07-Oct-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: explicit handling of writemask for depth/stencil export Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e78bd48b9c87bb67e329d62539a4384c5342d27b |
|
08-Sep-2016 |
Samuel Pitoiset <samuel.pitoiset@gmail.com> |
st/mesa: add mapping for SYSTEM_VALUE_LOCAL_GROUP_SIZE gl_LocalGroupSizeARB can be translated into TGSI_SEMANTIC_BLOCK_SIZE which represents the block size in threads. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c42fe30c8650a5bd19b22289f33a7ed35e427057 |
|
07-Jul-2016 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl: Kill __intrinsic_atomic_sub Just generate an __intrinsic_atomic_add with a negated parameter. Some background on the non-obvious reasons for the the big change to builtin_builder::call()... this is cribbed from some discussion with Ilia on mesa-dev. Why change builtin_builder::call() to allow taking dereferences and create them here rather than just feeding in the ir_variables directly? The problem is the neg_data ir_variable node would have to be in two lists at the same time: the instruction stream and parameters. The ir_variable node is automatically added to the instruction stream by the call to make_temp. Restructuring the code so that the ir_variables could be in parameters then move them to the instruction stream would have been pretty terrible. ir_call in the instruction stream has an exec_list that contains ir_dereference_variable nodes. The builtin_builder::call method previously took an exec_list of ir_variables and created a list of ir_dereference_variable. All of the original users of that method wanted to make a function call using exactly the set of parameters passed to the built-in function (i.e., call __intrinsic_atomic_add using the parameters to atomicAdd). For these users, the list of ir_variables already existed: the list of parameters in the built-in function signature. This new caller doesn't do that. It wants to call a function with a parameter from the function and a value calculated in the function. So, I changed builtin_builder::call to take a list that could either be a list of ir_variable or a list of ir_dereference_variable. In the former case it behaves just as it previously did. In the latter case, it uses (and removes from the input list) the ir_dereference_variable nodes instead of creating new ones. text data bss dec hex filename 6036395 283160 28608 6348163 60dd83 lib64/i965_dri.so before 6036923 283160 28608 6348691 60df93 lib64/i965_dri.so after Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b7df52b106416c410d0e14dc6bba091831f9c786 |
|
01-Sep-2016 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl: Use the ir_intrinsic_* enums instead of the __intrinsic_* name strings text data bss dec hex filename 6038043 283160 28608 6349811 60e3f3 lib64/i965_dri.so before 6036507 283160 28608 6348275 60ddf3 lib64/i965_dri.so after v2: s/ir_intrinsic_atomic_sub/ir_intrinsic_atomic_counter_sub/. Noticed by Ilia. v3: Silence unhandled enum in switch warnings in st_glsl_to_tgsi. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ecd6fce2611e88ff8468a354cff8eda39f260a31 |
|
31-Aug-2016 |
Rob Clark <robdclark@gmail.com> |
mesa/st: support lowering multi-planar YUV Support multi-planar YUV for external EGLImage's (currently just in the dma-buf import path) by lowering to multiple texture fetch's for each plane and CSC in shader. There was some discussion of alternative approaches for tracking the additional UV or U/V planes: https://lists.freedesktop.org/archives/mesa-dev/2016-September/127832.html They all seemed worse than pipe_resource::next Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
342f945b1320d588e61e4efe1ccc7852a3c8ad9f |
|
23-Aug-2016 |
Francisco Jerez <currojerez@riseup.net> |
st/glsl_to_tgsi: Use SecondaryOutputsWritten to determine dual-source fragment outputs. Currently the mesa state tracker relies on there being two bits set per dual-source output in the gl_program::OutputsWritten bitset, but that only worked due to a GLSL front-end bug that caused it to set the OutputsWritten bit for both location and location+1 even though at the GLSL level the primary and secondary color outputs used for dual-source blending have the same location. Fix it by extending outputMapping[] to 2*FRAG_RESULT_MAX elements in order to represent a mapping from a (location, index) pair to its TGSI output, which should also make it slightly easier to add support for dual-source blending in combination with multiple render targets in the long run. No Piglit regressions on llvmpipe. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
532db3b7881f3dfcd299320cbf44443d06b88373 |
|
27-Aug-2016 |
Kai Wasserbäch <kai@dev.carbon-project.org> |
gallium: Use enum pipe_shader_type in set_sampler_views() Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
26187f3890cd92d6871ffb431763b27cacd8d4fe |
|
05-Jul-2016 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: fix st_src_reg_for_double constant. This needs to set the src swizzle so it doesn't access the .zw members ever when we are just emitting a 0 constant here. This fixes: vert-conversion-explicit-dvec3-bvec3.shader_test and a bunch of other fp64 tests on softpipe and radeonsi. Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cb9ed66cc56aa1ac0e36594c11acc314a67cc205 |
|
08-Aug-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st_glsl_to_tgsi: use calloc the way it's meant to be used Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8c1775c14caf934bf56e9511099033477853d568 |
|
02-Aug-2016 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: determine states used or affected by shaders at compile time At compile time, each shader determines which ST_NEW flags should be set at shader bind time. This just sets the new field for all shaders. The next commit will use it. v2: small code unification Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> (v1)
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bbe012f02ae8963668e12a571b13e8c95044d2ba |
|
28-Jul-2016 |
Matt Turner <mattst88@gmail.com> |
glsl_to_tgsi: Avoid aliasing violations. Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
185b0c15abfba8b011f5b009e9f1890305e40ff6 |
|
25-Jul-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st_glsl_to_tgsi: only skip over slots of an input array that are present When an application declares varying arrays but does not actually do any indirect indexing, some array indices may end up unused in the consuming shader, so the number of input slots that correspond to the array ends up less than the array_size. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
94296be276bf9c0a574df262b5d45f1bf38918ff |
|
24-Jun-2016 |
Ian Romanick <ian.d.romanick@intel.com> |
st/mesa: Enable MESA_shader_integer_functions on all GLSL 1.30 platforms Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ead7736821633bbbd8ae743a49d2ee87ebef0763 |
|
03-Jul-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: don't use the negate modifier in integer ops after bitcast This bug is uncovered by glsl/lower_if_to_cond_assign. I don't know if it can be reproduced in any other way. Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
33c872398069d7a031e3355863c9804c3cf194db |
|
01-Jul-2016 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: remove st_dump_program_for_shader_db replaced by MESA_SHADER_CAPTURE_PATH in core Mesa Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cb728df9670d8399479db8502145bbc6f653cfb3 |
|
05-Jul-2016 |
Dave Airlie <airlied@redhat.com> |
Revert "st/glsl_to_tgsi: don't increase immediate index by 1." This reverts commit 27d456cc87a01998c6fe1dbf45937e2ca6128495. DOH, what seems right and what is right with fp64 are always two different things. This regressed: spec@arb_gpu_shader_fp64@shader_storage@layout-std140-fp64-mixed-shader on radeonsi Reported-by: Michel Dänzer <michel@daenzer.net> Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
27d456cc87a01998c6fe1dbf45937e2ca6128495 |
|
07-Jun-2016 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: don't increase immediate index by 1. Immediates are stored into a separate table, and are consolidated, so if we get an immediate we don't need to offset it as the index it has is correct. Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1591e668e162daf4057a0d44df4e70f19b94fc76 |
|
30-Jun-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
glsl/mesa: move duplicate shader fields into new struct gl_shader_info Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1fb8c6df884c2a17cf980c4ea32db4c214903b55 |
|
30-Jun-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
glsl/mesa: split gl_shader in two There are two distinctly different uses of this struct. The first is to store GL shader objects. The second is to store information about a shader stage thats been linked. The two uses actually share few fields and there is clearly confusion about their use. For example the linked shaders map one to one with a program so can simply be destroyed along with the program. However previously we were calling reference counting on the linked shaders. We were also creating linked shaders with a name even though it is always 0 and called the driver version of the _mesa_new_shader() function unnecessarily for GL shader objects. Acked-by: Iago Toral Quiroga <itoral@igalia.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
60a27ad122128145d28be37e9c0b0bc86a8e5181 |
|
23-Jun-2016 |
Giuseppe Bilotta <giuseppe.bilotta@gmail.com> |
Remove wrongly repeated words in comments Clean up misrepetitions ('if if', 'the the' etc) found throughout the comments. This has been done manually, after grepping case-insensitively for duplicate if, is, the, then, do, for, an, plus a few other typos corrected in fly-by v2: * proper commit message and non-joke title; * replace two 'as is' followed by 'is' to 'as-is'. v3: * 'a integer' => 'an integer' and similar (originally spotted by Jason Ekstrand, I fixed a few other similar ones while at it) Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Reviewed-by: Chad Versace <chad.versace@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
31dee99e052902bc08ddbb1009748dc982ac3211 |
|
05-Jun-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
mesa/glsl: stop using GL shader type internally Instead use the internal gl_shader_stage enum everywhere. This makes things more consistent and gets rid of unnecessary conversions. Ideally it would be nice to remove the Type field from gl_shader altogether but currently it is used to differentiate between gl_shader and gl_shader_program in the ShaderObjects hash table. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
494e4b8976a48e37e3cb51338ad69e085ea5061a |
|
13-May-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st_glsl_to_tgsi: don't read potentially uninitialized buffer variable Found by -fsanitize=undefined. Note that this should be a harmless issue in practice because the inst->op check always dominates anyway. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f48f3447005ba4f888fa2e4a7335014c7d04878a |
|
08-Jun-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: fix type confusion with reladdrs The reality is that this doesn't matter, because we manually emit the ARL to the sampler reladdr, and those arguments don't get an extra load later, so it's effectively just a boolean. However having the types be wrong is confusing and could trigger very odd bugs should usage change down the line. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
15896a470b2b56cefc2a00ce458fd784ed42cee9 |
|
08-Jun-2016 |
Dave Airlie <airlied@redhat.com> |
glsl/types: rename is_dual_slot_double to is_dual_slot_64bit. In the future int64 support will have the same requirements. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
45c901f7a3a22898426a0c5dd4b39587a2432dd7 |
|
08-Jun-2016 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: move to checking 64-bitness instead of double This uses the new types interfaces to check for 64-bit types, as futureproofing against int64 support. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bbbc45b8e1b3c59f1a2e66787693f58a1c3352cb |
|
08-Jun-2016 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: use enum glsl_base_type instead of unsigned This is just some better type safety that I noticed while working on 64-bit integer support. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f64c36e2d7cdf14a43cde7963729a926e613dc4c |
|
29-May-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: expose GL_ARB_shader_group_vote when supported by backend Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5189f0243a3dd8698c645bbe762b8a1a3caaf1a9 |
|
29-May-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa: hook up core bits of GL_ARB_shader_group_vote Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
589d6b58c3355f3ff8e5bef4b3f5e94b479cc96b |
|
30-May-2016 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: change SQRT lowering to fix the game Risen Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94627 (against nouveau) Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
35fd5282ea39a15fab4f7b9639ffe0853a19b415 |
|
31-May-2016 |
Eric Engestrom <eric@engestrom.ch> |
st/glsl_to_tgsi: prevent infinite loop `unsigned j` would never fail `j >= 0`, leading to an infinite loop as `j--` wraps around. Signed-off-by: Eric Engestrom <eric@engestrom.ch> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1e99a46b446522dbb12634139c2f2060d5dabf94 |
|
22-May-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: update inst->info along with inst->op Otherwise we still have TGSI_OPCODE_CMP's info, which causes a number of later logic to go wrong. This fixes dEQP-GLES2.functional.shaders.functions.control_flow.return_in_if_vertex on nv30. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1e93b0caa10d9d9090eaa3bd517a5144930f28a4 |
|
22-Dec-2015 |
Rob Clark <robclark@freedesktop.org> |
mesa/st: add support for NIR as possible driver IR Signed-off-by: Rob Clark <robclark@freedesktop.org> Acked-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a1c244479247a736961f637b415e07d327203250 |
|
13-May-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: flip y coordinate of interpolateAtOffset for winsys This fixes a few dEQP tests like dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers.default_framebuffer Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
697382eb61a9091ea0fa8b5836c9e7d281e9e1c5 |
|
24-Mar-2016 |
Rob Clark <robclark@freedesktop.org> |
mesa/st: split the type_size calculation into it's own file We'll want to re-use this for NIR. Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d36d11ad907c93407d1e984ab0931337936a4a37 |
|
10-May-2016 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: attach image to correct instruction for samples This fixes a crash (but not the test): GL45-CTS.shader_texture_image_samples_tests.functional_test Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
008feb3687e0a8b10e7ad230828de56c6d351a6f |
|
10-May-2016 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: brown paper bag for the input offsets fix. Oops, thanks compiler. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f75a26d1ba6336d1e8a760ad106642f34265b64c |
|
10-May-2016 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: handle offsets from inputs This fixes: GL45-CTS.gpu_shader5.texture_gather_offset_color_repeat Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8f2238ccbae399a20fce24c5941accced7cee8d2 |
|
28-Apr-2016 |
Samuel Pitoiset <samuel.pitoiset@gmail.com> |
st/glsl_to_tgsi: fix potential crash when allocating temporaries When index - t->temps_size is greater than 4096, allocating space for temporaries on demand will miserably crash. This can happen when a game uses a lot of temporaries like the recent released Tomb raider. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
98c348d26b28a662d093543ecb7ca839e7883e8e |
|
26-Apr-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: reduce stack explosion in recursive expression visitor In optimized builds, visit(ir_expression *) experiences inlining with gcc that leads the function to have a roughly 32KB stack frame. This is a problem given that the function is called recursively. In non-optimized builds, the stack frame is much smaller, hence one gets crashes that happen only in optimized builds. Arguably there is a compiler bug or at least severe misfeature here. In any case, the easy thing to do for now seems to be moving the bulk of the non-recursive code into a separate function. This is sufficient to convince my version of gcc not to blow up the stack frame of the recursive part. Just to be sure, add the gcc-specific noinline attribute to prevent this bug from reoccuring if inliner heuristics change. v2: put ATTRIBUTE_NOINLINE into macros.h Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95133 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95026 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92850 Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
af249a7da9bf2621ab836d5074ef692677b11bbf |
|
16-Apr-2016 |
Marek Olšák <marek.olsak@amd.com> |
gallium: use PIPE_SHADER_* everywhere, remove TGSI_PROCESSOR_* Acked-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
704d203d5f9bfaee1367678e3c4e11e25e22acc4 |
|
12-Apr-2016 |
Brian Paul <brianp@vmware.com> |
st/mesa: replace _mesa_sysval_to_semantic table with function Instead of using an array indexed by SYSTEM_VALUE_x, just use a switch statement. This fixes a regression caused by inserting new SYSTEM_VALUE_ enums but not updating the mapping to TGSI semantics. v2: fix a few switch statement mistakes for compute-related enums Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
84c4d069ac7be1dece2f5eeed277089a79e6acbf |
|
06-Apr-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: make samplers_used an uint32_t (v2) It is used as a bitfield, so it seems cleaner to keep it unsigned. The literal 1 is a (signed) int, and shifting into the sign bit is undefined in C, so change occurences of 1 to 1u. v2: add an assert for bitfield size and use 1u << idx Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> (v1) Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1)
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
01f993a21f859d372d68c2818d845ebf47d70492 |
|
28-Mar-2016 |
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
gallium: add threads per block TGSI property The value 0 for unknown has been chosen to so that drivers using tgsi_scan_shader do not need to detect missing properties if they zero-initialize the struct. Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7234be0338813c0acd5b700ea2f7f20f7a972e51 |
|
10-Mar-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
glsl: add transform feedback buffers to resource list Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cf039a309a36ba537b45f3bfe7e5a154c87d51ad |
|
10-Mar-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
mesa: split transform feedback buffer into its own struct This will be used in a following patch to implement interface query support for TRANSFORM_FEEDBACK_BUFFER. Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3788e1bf748eca3186377dfa60dbba1c37f8939e |
|
10-Mar-2016 |
Hans de Goede <hdegoede@redhat.com> |
tgsi: Add support for global / private / input MEMORY Extend the MEMORY file support to differentiate between global, private and shared memory, as well as "input" memory. "MEMORY[x], INPUT" is intended to access OpenCL kernel parameters, a special memory type is added for this, since the actual storage of these (e.g. UBO-s) may differ per implementation. The uploading of kernel parameters is handled by launch_grid, "MEMORY[x], INPUT" allows drivers to use an access mechanism for parameter reads which matches with the upload method. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> (v1) Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (v2)
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2bdd7a46a92fcfa983bd53294342a0ef14098d7f |
|
10-Mar-2016 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: set TGSI property NEXT_SHADER Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8c497b8fb59fa80abb9be315defe809b982958f4 |
|
12-Mar-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: set FS_EARLY_DEPTH_STENCIL when required Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1c0cee87640506414be0e759f6ad6c74a3c7e5af |
|
13-Mar-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: set memory access type on image intrinsics This is required to preserve the image variable's coherent/restrict/volatile qualifiers in TGSI. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
dfcf4204120d3fc8f7d8cda818e1c652e091cc35 |
|
07-Feb-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
st/glsl_to_tgsi: provide Texture and Format information for image ops Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f8ea98e4ec4078924f79b0aadd2754726b835f5c |
|
20-Feb-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: add GL_ARB_shader_atomic_counter_ops support Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7b50b0457db3acffcc2a7de092df346fa314aa95 |
|
27-Feb-2016 |
Matt Turner <mattst88@gmail.com> |
program: Remove condition-code and precision support. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
49c67926c7a74440ef91674fa0a4595bfa179dd5 |
|
16-Feb-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: fix up result_src.type when doing i2u/u2i conversions Even though it's a no-op, it's important to keep track of the type so that we can pick the properly-signed op later on. This fixes dEQP-GLES3.functional.shaders.precision.uint.highp_div_fragment, which ended up using IDIV instead of UDIV. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2e0a84208b632021d41edccc1dc2e858e62c13f6 |
|
09-Jan-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: convert GLSL image intrinsics into TGSI Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
95ea9f770878517364ac2161eb943afbc77bfef9 |
|
10-Feb-2016 |
Jason Ekstrand <jason.ekstrand@intel.com> |
glsl/types: Add support for function types SPIR-V has a concept of a function type that's used fairly heavily. We could special-case function types in SPIR-V -> NIR but it's easier if we just add support to glsl_types. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
61c87cd2c0698fad68e4a02c44cdcbd4fd00191a |
|
11-Jan-2016 |
Samuel Pitoiset <samuel.pitoiset@gmail.com> |
st/mesa: add mappings for compute shader sysvals LOCAL_INVOCATION_ID, WORK_GROUP_ID and NUM_WORK_GROUPS are respectively mapped to THREAD_ID, BLOCK_ID and GRID_SIZE. Changes from v2: - add assertions in st_translate_program() Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e8db4e4e0a2e168d3710f18302e4d4d6218f8005 |
|
06-Feb-2016 |
Samuel Pitoiset <samuel.pitoiset@gmail.com> |
st/mesa: keep track of shared memory declarations Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
dfa58f0ff08c97f7f13775726c1fedda223aacc6 |
|
16-Jan-2016 |
Samuel Pitoiset <samuel.pitoiset@gmail.com> |
st/mesa: add intrinsics for shared variables This adds GLSL intrinsics for load/store and atomic operations. Changes from v2: - use PROGRAM_MEMORY instead of PROGRAM_BUFFER Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
44e04dc809659323ae0b5e32b97fcfccc5db66f1 |
|
03-Feb-2016 |
Samuel Pitoiset <samuel.pitoiset@gmail.com> |
st/mesa: add conversion for compute shaders According to the spec, there are no predefined inputs nor any fixed-function outputs. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a8aa73f7685831f2fe2512b25ee2acb64372ad7f |
|
05-Oct-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: release GLSL IR in LinkShader after it's not needed Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
906ecab450e21cc0554a39f846d374aedb72b428 |
|
05-Oct-2015 |
Marek Olšák <marek.olsak@amd.com> |
mesa: call build_program_resource_list inside Driver.LinkShader to allow LinkShader to free the GLSL IR. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b74e8c89a684c5c632df9b39f15585de584148c1 |
|
04-Feb-2016 |
Dave Airlie <airlied@gmail.com> |
st/mesa: add atomic AoA support reuse the sampler deref handling code to do the same thing for atomics. Acked-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bb8bbe34e3d355c457578060c5926dfc23abecfd |
|
04-Feb-2016 |
Dave Airlie <airlied@redhat.com> |
st/mesa: handle indirect samplers in arrays/structs properly (v4.1) The state tracker never handled this properly, and it finally annoyed me for the second time so I decided to fix it properly. This is inspired by the NIR sampler lowering code and I only realised NIR seems to do its deref ordering different to GLSL at the last minute, once I got that things got much easier. it fixes a bunch of tests in tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/ v2: fix AoA tests when forced on. I was right I didn't need all that code, fixing the AoA code meant cleaning up a chunk of code I didn't like in the array handling. v3: start generalising the code a bit more for atomics. v3.1: use UniformRemapTable v4: handle uniforms differently using the param_index, and go back to UniformStorage fix issues identified by Timothy with deref handling. v4.1: squash const fix and move handling 1D const out of recursive function. Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Acked-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
52801766a00ba3b2a93e14d1ac80afd8980d15d8 |
|
08-Feb-2016 |
Dave Airlie <airlied@redhat.com> |
glsl/ir: add param index to variable. We have a requirement to store the index into the mesa parameterlist for uniforms. Up until now we've overwritten var->data.location with this info. However this then stops us accessing UniformStorage, which is needed to do proper dereferencing. Add a new variable to ir_variable to store this value in, and change the two uses to use it correctly. Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
047b91771845453826dcdd0019adc7333348b158 |
|
29-Jan-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: treat a write as a read for range purposes We use this logic to detect live ranges and then do plain renaming across the whole codebase. As such, to prevent WaW hazards, we have to treat a write as if it were also a read. For example, the following sequence was observed before this patch: 13: UIF TEMP[6].xxxx :0 14: ADD TEMP[6].x, CONST[6].xxxx, -IN[3].yyyy 15: RCP TEMP[7].x, TEMP[3].xxxx 16: MUL TEMP[3].x, TEMP[6].xxxx, TEMP[7].xxxx 17: ADD TEMP[6].x, CONST[7].xxxx, -IN[3].yyyy 18: RCP TEMP[7].x, TEMP[3].xxxx 19: MUL TEMP[4].x, TEMP[6].xxxx, TEMP[7].xxxx While after this patch it becomes: 13: UIF TEMP[7].xxxx :0 14: ADD TEMP[7].x, CONST[6].xxxx, -IN[3].yyyy 15: RCP TEMP[8].x, TEMP[3].xxxx 16: MUL TEMP[4].x, TEMP[7].xxxx, TEMP[8].xxxx 17: ADD TEMP[7].x, CONST[7].xxxx, -IN[3].yyyy 18: RCP TEMP[8].x, TEMP[3].xxxx 19: MUL TEMP[5].x, TEMP[7].xxxx, TEMP[8].xxxx Most importantly note that in the first example, the second RCP is done on the result of the MUL while in the second, the second RCP should have the same value as the first. Looking at the GLSL source, it is apparent that both of the RCP's should have had the same source. Looking at what's going on, the GLSL looks something like float tmin_8; float tmin_10; tmin_10 = tmin_8; ... lots of code ... tmin_8 = tmpvar_17; ... more code that never looks at tmin_8 ... And so we end up with a last_read somewhere at the beginning, and a first_write somewhere at the bottom. For some reason DCE doesn't remove it, but even if that were fixed, DCE doesn't handle 100% of cases, esp including loops. With the last_read somewhere high up, we overwrite the previously correct (and large) last_read with a low one, and then proceed to decide to merge all kinds of junk onto this temp. Even if that weren't the case, and there were just some writes after the last read, then we might still overwrite a merged value with one of those. As a result, we should treat a write as a last_read for the purpose of determining the live range. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com> Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8709dc071323eb47be12f0929efe9e0741e9ef30 |
|
21-Jan-2016 |
Matt Turner <mattst88@gmail.com> |
glsl: Remove 2x16 half-precision pack/unpack opcodes. i965/fs was the only consumer, and we're now doing the lowering in NIR. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
792bab24ac33f6614d549cfaca219a3855908e0d |
|
17-Jan-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: add support for memory barrier intrinsics Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v2) v1 -> v2: use TGSI_MEMBAR defines
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c0e1c54a4f182f24dc826af0f5212803d723aafb |
|
14-Dec-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: use RESQ to find buffer size Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
688003669469d787847d58572956e9d3fcecaf3c |
|
18-Jan-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: add support for SSBO binding and GLSL intrinsics Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> v1 -> v2: some 80 char reformatting
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9d6f9ccf6b7ca7c9d1ac40354d6ae47c130e2024 |
|
20-Sep-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: add atomic counter support Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0fddb677e6e8261fc7a12652224698838ac10b22 |
|
18-Jan-2016 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa: add PROGRAM_IMMEDIATE, PROGRAM_BUFFER This makes PROGRAM_IMMEDIATE a first-class gl_register_file type, and adds PROGRAM_BUFFER to the list. These are used purely inside glsl_to_tgsi conversion. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
eb63640c1d38a200a7b1540405051d3ff79d0d8a |
|
17-Jan-2016 |
Emil Velikov <emil.velikov@collabora.com> |
glsl: move to compiler/ Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Matt Turner <mattst88@gmail.com> Acked-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b85a229e1f542426b1c8000569d89cd4768b9339 |
|
08-Jan-2016 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Delete the ir_binop_bfm and ir_triop_bfi opcodes. TGSI doesn't use these - it just translates ir_quadop_bitfield_insert directly. NIR can handle ir_quadop_bitfield_insert as well. These opcodes were only used for i965, and with Jason's recent patches, we can do this lowering in NIR (which also gains us SPIR-V handling). So there's not much point to retaining this GLSL IR lowering code. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8a13ce14fd4e29e4e74322c1a3d548960f7f9bc6 |
|
02-Jan-2016 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: add support for POSITION and FACE system values Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4191c1a57c1e806a078bfc5b074b557ff2b54c35 |
|
02-Jan-2016 |
Marek Olšák <marek.olsak@amd.com> |
glsl: optionally declare gl_FragCoord & gl_FrontFacing as system values Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c886422656f38593e1db3700ae747058f55125d4 |
|
07-Jan-2016 |
Marek Olšák <marek.olsak@amd.com> |
tgsi/ureg: remove index parameter from ureg_DECL_system_value It can be trivially derived from the number of already declared system values. This allows ureg users not to worry about which index to choose. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
20dee333f3790b0a8f197efeaa54f91522cb606a |
|
29-Oct-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: use PK2H/UP2H when supported Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
36c93a6fae275614b6004ec5ab085774d527e1bc |
|
06-Dec-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: fix GLSL uniform updates for glBitmap & glDrawPixels (v2) Spotted by luck. The GLSL uniform storage is only associated once in LinkShader and can't be reallocated afterwards, because that would break the association. v2: don't remove st_upload_constants calls, clarify why they're needed Cc: 11.0 11.1 <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b83525599290ab1226f64163cf13761223f17829 |
|
19-Dec-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: fix block movs for doubles While playing with fp64, I disable varying packing to debug something else, and noticed we never emitted half the output movs for double matrix arrays. We should be moving the left index two slots for dual source doubles, and the right index two slots for non-vs input doubles. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d214ce86cf0d5f5bd0135f1558194391e72501d0 |
|
19-Dec-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: handle different attrib size vertex inputs are counted differently in some cases, with vertex inputs we need to make sure we don't double count them. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
dc7b33c1f372c835ce91afa0350c0bffe00c344e |
|
19-Dec-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: readd the double_reg2 for input index mapping Otherwise we end up emitting the wrong index for the second double. This fixes dmat-vs-gs-tcs-tes.shader_test and dvec3-vs-gs-tcs-tes.shader_test Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
84dbf3c4ff8976459eb0890d8affc8e521689858 |
|
19-Dec-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: when doing reladdr get vec4 of correct type This fixes fp64 relative addressing, in the upcoming dmat-vs-gs-tcs-tes.shader_test. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d87894b98f9b60cd7298229c0a1da72116f98047 |
|
19-Dec-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: handle double immediates in matrices properly. This handles matrix initialisation properly. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7351c7684f75704dfef82a25177e6c5284d8bb0a |
|
19-Dec-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: setup writemask for double arrays and matricies. It's important for the double instruction emission code that the writemasks are correct going in for double so it know which channels to replicate. This fixes it for the array and matrix cases. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
14506dcae20d89ae9380c7a4f1843586c59db16d |
|
19-Dec-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: handle doubles in array shrinking code. This code takes into account double inputs in the array shrinking code. This fixes some issues with doubles and geom/tess inputs. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
aab0c6c9c400bc7f83516b29cf736fa7ce1f2a13 |
|
19-Dec-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: handle doubles outputs in arrays. This handles the case where a double output is stored in an array, and tracks it for use in the double instruction emit code. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
fc890d703ee079b1eb37c316f8ba8554b3184248 |
|
19-Dec-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: store if dst is double in array This is just a precursor patch to a fix for doubles with tessellation that I've written. We need to descend into output arrays in that case and mark dst's as double. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
89bda9772d5b6f736d5f18e90a1ee4056438fe42 |
|
29-Dec-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: add GL_ARB_shader_draw_parameters support Hooks up the new system values, passes the drawid in. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
55ca5b0e74dff2b2f7df57af332b73e2a1b7d081 |
|
29-Dec-2015 |
Kristian Høgsberg Kristensen <krh@bitplanet.net> |
mesa/st: Pad out _mesa_sysval_to_semantic for new SYSTEM_VALUE_* enums GL_ARB_shader_draw_parameters added two new system values. This gets us back to mapping mesa system values to the right TGSI semantics. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2268a50ffde18f9907ee7321c8b503b52a23fb05 |
|
30-Nov-2015 |
Matt Turner <mattst88@gmail.com> |
glsl: Remove ir_unop_any. The GLSL IR to TGSI/Mesa IR paths for any_nequal have the same optimizations the ir_unop_any paths had. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
dd3c16c94b52e2af3bbb3f7de4f68b71e3caafe2 |
|
02-Dec-2015 |
Matt Turner <mattst88@gmail.com> |
glsl_to_tgsi: Skip useless comparison instructions. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8343583557fbbf0e04ce8e834a71f00b219232ce |
|
18-Nov-2015 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl: Add ir_samples_identical opcode Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e3d9dbe3046c4fd10c6b4c66d8016e908ea7c140 |
|
14-Sep-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
gallium: add support for gl_HelperInvocation semantic Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Glenn Kennard <glenn.kennard@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
20748318c5b870fc27f699637041e67a67321f5f |
|
14-Sep-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
glsl: add gl_HelperInvocation system value Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Matt Turner <mattst88@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
60dd5287ff8dbbbe0dbe76bdff6d13c7a5ea9ef0 |
|
04-Nov-2015 |
Kristian Høgsberg Kristensen <krh@bitplanet.net> |
glsl: Lower UBO and SSBO access in glsl linker All GLSL IR consumers run this lowering pass so we can move it to the linker. This moves the pass up quite a bit, but that's the point: it needs to run before we throw away information about per-component vector access. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Signed-off-by: Kristian Høgsberg Kristensen <krh@bitplanet.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f0e95c2500fdb720d4102976f17361c294e1f3a3 |
|
04-Nov-2015 |
Kristian Høgsberg Kristensen <krh@bitplanet.net> |
glsl: Drop exec_list argument to lower_ubo_reference We always pass in shader->ir and we already pass in the shader, so just drop the exec_list. Most passes either take just a exec_list or a shader, so this seems more consistent. Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Signed-off-by: Kristian Høgsberg Kristensen <krh@bitplanet.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
36c93e96590b39362bb0159f5f55f1ad1db5e145 |
|
16-Oct-2015 |
Iago Toral Quiroga <itoral@igalia.com> |
glsl_to_tgsi: Use {Num}UniformBlocks instead of {Num}BufferInterfaceBlocks The latter holds both UBOs and SSBOs, but here we only want UBOs. Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
27dccf097d053b085c498a7bcab47197a5e83525 |
|
01-Oct-2015 |
Iago Toral Quiroga <itoral@igalia.com> |
mesa: Rename {Num}UniformBlocks to {Num}BufferInterfaceBlocks Currently, these arrays in gl_shader and gl_shader_program hold both UBOs and SSBOs, so this looks like a better name. We were already using NumBufferInterfaceBlocks in gl_shader_program, so this makes things more consistent as well. In a later patch we will add {Num}UniformBlocks and {Num}ShaderStorageBlocks which will contain only references to UBOs and SSBOs respectively that will provide backends with a separate index space for both types of objects. Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f15bb3e633d577fe6d8d7bc2c64497c6ac4c2021 |
|
04-Oct-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: implement DrawPixels shader transformation using tgsi_transform_shader Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com> Tested-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f4ec81032bb9c1460794d3d843d0ffe47a181291 |
|
04-Oct-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: implement glBitmap shader transformation using tgsi_transform_shader Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com> Tested-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3eedb633710733b38f612bdd5b2b490a7f854c9e |
|
04-Oct-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: remove old emulation for VS and FS variants Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com> Tested-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
273f61a0051a794d1a39d70fb1dbf46a3ca3c63f |
|
13-Apr-2015 |
Samuel Iglesias Gonsalvez <siglesias@igalia.com> |
glsl: Add parser/compiler support for unsized array's length() The unsized array length is computed with the following formula: array.length() = max((buffer_object_size - offset_of_array) / stride_of_array, 0) Of these, only the buffer size needs to be provided by the backends, the frontend already knows the values of the two other variables. This patch identifies the cases where we need to get the length of an unsized array, injecting ir_unop_ssbo_unsized_array_length expressions that will be lowered (in a later patch) to inject the formula mentioned above. It also adds the ir_unop_get_buffer_size expression that drivers will implement to provide the buffer length. v2: - Do not define a triop that will force backends to implement the entire formula, they should only need to provide the buffer size since the other values are known by the frontend (Curro). v3: - Call state->has_shader_storage_buffer_objects() in ast_function.cpp instead of using state->ARB_shader_storage_buffer_object_enable (Tapani). Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1614c39a8fc205d7b1cb5b16737c233fbcc5b678 |
|
23-Sep-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: keep track of saturated writes when eliminating dead code It doesn't matter whether a write is saturated or not, in another implementation it might even have been a separate opcode. This code was most likely copied from the copy-propagation pass (where one does have to distinguish saturation). Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
67d2d3ba433a43bbf03b80c1d7e140e1fc9de2f6 |
|
11-Sep-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: emit TXQS, support ARB_shader_texture_image_samples The image component of the ext is a no-op since there is no image support in gallium (yet). Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f9052914e979228d28502a7f7953f98ff4731f99 |
|
28-Aug-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
glsl: add ir_texture_samples texture opcode Will be used for textureSamples() Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
78027c965a50719959df821b7f545db191574724 |
|
27-Aug-2015 |
Dave Airlie <airlied@redhat.com> |
st/mesa: move to renumbering registers in a group This can be done with a single pass for the instruction base, and takes renumber_registers out of its spot on the profile. Acked-by: Marek Olšák <marek.olsak@amd.com Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
aee73f2942eff2ffb4a0497ac81f01a3b00294b8 |
|
27-Aug-2015 |
Dave Airlie <airlied@redhat.com> |
st/mesa: reduce time spent in calculating temp read/writes The glsl->tgsi convertor does some temporary register reduction however in profiling shader-db this shows up quite highly, so optimise things to reduce the number of loops through all the instructions we do. This drops merge_registers from 4-5% on the profile to 1%. I think this can be reduced further by possibly optimising the renumber pass. Acked-by: Marek Olšák <marek.olsak@amd.com Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
46968c114003b30be335adccbc30445aca9b5dea |
|
27-Aug-2015 |
Dave Airlie <airlied@redhat.com> |
st/mesa: cache tgsi opcode info in the instruction Instead of looking this up lots, lets just cache it in the instruction translation up front. I just noticed this function what high in a profile of shader-db on radeonsi. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
275c5810ca7e38560b2a77281e7a0498c50126f8 |
|
21-Aug-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
glsl: provide the option of using BFE for unpack builting lowering This greatly improves generated code, especially for the snorm variants, since it is able to get rid of the lshift/rshift for sext, as well as replacing each shift + mask with a single op. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Matt Turner <mattst88@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
889a946a455c54a5a9bca144b2ea2fe66be39274 |
|
21-Aug-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
glsl: use bitfield_insert instead of and + shift + or for packing It is fairly tricky to detect the proper conditions for using bitfield insert, but easy to just use it up front. This removes a lot of instructions on nvc0 when invoking the packing builtins. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Matt Turner <mattst88@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bcae4640c89bc2775d1a85b2b27d2787cac8f843 |
|
26-Aug-2015 |
Brian Paul <brianp@vmware.com> |
st/mesa: use PROGRAM_ARRAY for storing structs containing arrays Previously, we used PROGRAM_ARRAY only for variables which were arrays or matrices. But if the variable is a structure containing an array or matrix, we need to use PROGRAM_ARRAY for that too. Before, we failed an assertion: state_tracker/st_glsl_to_tgsi.cpp:4900: Assertion `src_reg->file != PROGRAM_TEMPORARY' failed. when running the piglit test glsl-1.20/execution/fs-const-array-of-struct-of-array.shader_test Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3525aa1dc9c27fb2394a37788a29c272b3a81d1b |
|
21-Aug-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: pass through 4th opcode argument in bitmap/pixel visitors Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.6" <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
681efdf7a18b73ce06989cb2d3299e3feabdb5f5 |
|
21-Aug-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: fix assignments with 4-operand arguments (i.e. BFI) Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.6" <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6ca3ff982a9e6a54286158b457d479715be5ab17 |
|
25-Jul-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: add shader dumping for shader-db Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
768b4a25b95b95989dae3ff2f5a06172a2f4ab85 |
|
23-Jul-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: fix GLSL 1.30 texture shadow functions with the GL_ALPHA depth mode (v2) Fixes piglit: spec@glsl-1.30@execution@fs-texture-sampler2dshadow-10 spec@glsl-1.30@execution@fs-texture-sampler2dshadow-11 v2: use st_shader_stage_to_ptarget Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a922c279930ec1ab34506ca2e24d8a62a297ea33 |
|
20-Apr-2015 |
Dave Airlie <airlied@redhat.com> |
st/mesa: add subroutine bits (v1.1) Just add support for the subroutine type to the glsl->tgsi convertor. v1.1: add subroutine to int support. Acked-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
57f24299b7fe0f7b20c2a3cf1e94c747825b568d |
|
20-Apr-2015 |
Dave Airlie <airlied@redhat.com> |
glsl/types: add new subroutine type (v3.2) This type will be used to store the name of subroutine types as in subroutine void myfunc(void); will store myfunc into a subroutine type. This is required to the parser can identify a subroutine type in a uniform decleration as a valid type, and also for looking up the type later. Also add contains_subroutine method. v2: handle subroutine to int comparisons, needed for lowering pass. v3: do subroutine to int with it's own IR operation to avoid hacking on asserts (Kayden) v3.1: fix warnings in this patch, fix nir, fix tgsi v3.2: fixup tests Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chris Forbes <chrisf@ijw.co.nz> Signed-off-by: Dave Airlie <airlied@redhat.com> tests: fix warnings
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
82f7fad96691480b9ffdeb3e8e1b3345ede713ef |
|
08-Sep-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: add barrier support
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8f40428afbbfa9080964df3cd4f38f24122c4c5e |
|
22-Jul-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: disable copy propagation for tessellation shaders This can't work due to shared inputs and outputs and barriers.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
37d1809dd7cdfedbee4fcfef148fcdb1c7b43068 |
|
13-Jul-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: add 2d indexing support to outputs
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c9998617a8f40ad7e65aca9c581f5bcc7f1d0f4c |
|
22-Feb-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: handle tessellation 2D varyings correctly
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a58a66fe8577940cf07530b6235a386950ae04f7 |
|
22-Feb-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: add conversion for tessellation shaders Based on code from Ilia Mirkin <imirkin@alum.mit.edu>.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ba9fb96f86344f1631b82114bb0ce6f926d3853a |
|
12-Jul-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: add tessellation shader states additional fixes by Marek
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
567f1b2ee89bf05f0600e9e79847140555f0a035 |
|
22-Jul-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
glsl: pass shader stage to lower_output_reads and handle tess control Tessellation control outputs can be read in directly without first having been written. Accessing these will require some special logic anyways, so just let them through. V2: Never lower tess control output reads, whether patch or not -- both can be read back by other threads. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
fb800b3dcd32ddb6f57143b46105d677eb01da80 |
|
28-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl: don't lower variable indexing on non-patch tessellation inputs/outputs There is no way to lower them, because the array sizes are unknown at compile time. Based on a patch from: Fabian Bieler <fabianbieler@fastmail.fm> v2: add comments Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
912921059d137085faef676504bea265328bdde4 |
|
21-Jul-2015 |
Vinson Lee <vlee@freedesktop.org> |
st/mesa: Silence GCC unused-variable warning. Silence a release build warning. st_glsl_to_tgsi.cpp: In function 'pipe_error st_translate_program(gl_context*, uint, ureg_program*, glsl_to_tgsi_visitor*, const gl_program*, GLuint, const GLuint*, const GLuint*, const ubyte*, const ubyte*, const GLuint*, const GLuint*, GLuint, const GLuint*, const GLuint*, const ubyte*, const ubyte*, boolean, boolean)': st_glsl_to_tgsi.cpp:5461:36: warning: unused variable 'pscreen' [-Wunused-variable] struct pipe_screen *pscreen = st->pipe->screen; ^ Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cb258c1dec1ff348d508a6b02fbc9aa11eb9f829 |
|
08-Jun-2015 |
Rob Clark <robclark@freedesktop.org> |
glsl_to_tgsi: add SVIEW decl support Freedreno needs sampler type information to deal with int/uint textures. To accomplish this, start creating sampler-view declarations, as suggested here: http://lists.freedesktop.org/archives/mesa-dev/2014-November/071583.html create a sampler-view with index matching the sampler, to encode the texture type (ie. SINT/UINT/FLOAT). Ie: DCL SVIEW[n], 2D, UINT DCL SAMP[n] TEX OUT[1], IN[1], SAMP[n] For tgsi texture instructions which do not take an explicit SVIEW argument, the SVIEW index is implied by the SAMP index. Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e7f628c2fc5ef42672e3281e224226c3d47b1bac |
|
07-Sep-2014 |
Chris Forbes <chrisf@ijw.co.nz> |
glsl: Add ir node for barrier v2: * Changes suggested by mattst88 [jordan.l.justen@intel.com: Add nir support] Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6bf3729a3fa32a779e9593ffdf1c14e7a4f6dbad |
|
20-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: use TGSI array declarations for VS,GS arrays of outputs (v2) v2: don't use PIPE_MAX_SHADER_ARRAYS
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9b1921100ef5f265403b278fab26ae404db719da |
|
10-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: use TGSI array declarations for GS,FS arrays of inputs (v2) v2: don't use PIPE_MAX_SHADER_ARRAYS
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
26c8a49bc40839298d5cd986181d4bee31a48936 |
|
09-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: remove some emit functions by using C++ default values
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
85cd1cf4b88aff9bd2667359e36e6fbb7be92122 |
|
09-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: rename emit -> emit_asm My editor thinks "emit" is a keyword, which breaks code indexing.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
30b74c02cd57463591588274ad638ca80b34cb57 |
|
26-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: remove memset after calloc
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6ae3bc256927b583690729b8940a4418e75b0596 |
|
26-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: don't use a static array size for st_translate::arrays
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
57c98e22db3397efe42268ba0750f319cea3b0fd |
|
26-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: don't use a static array size for "array_sizes"
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1fa6c99e24890359e9cee2a9da02f21ea77b9f15 |
|
10-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
tgsi/ureg: add support for GS input array declarations
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3b1d15775190945b1a639dd9b2581b4032cd2ac6 |
|
10-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
tgsi/ureg: rename and simplify ureg_DECL_gs_input There is nothing special about it and it's used for tessellation shaders too.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
918ca4031f670066f054cdebcfe68ad75c963ac6 |
|
10-May-2015 |
Marek Olšák <marek.olsak@amd.com> |
tgsi/ureg: add support for FS input array declarations
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
875918587156e139a82ac9ece9c1290b8019d007 |
|
29-May-2015 |
Brian Paul <brianp@vmware.com> |
st/mesa: silence unused var warnings for non-debug build Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bb973723a5e1f27817b6be2c2fa4fb3ea28e733c |
|
17-May-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: don't leak glsl_to_tgsi object on link failure Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "10.5 10.6" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2b5355c8ab383d86bb6332dd29c417a6a1bc52bd |
|
07-May-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: make sure to create a "clean" bool when doing i2b i2b has to work for all integers, not just 1. INEG would not necessarily result with all bits set, which is something that other operations can rely on by e.g. using AND (or INEG for b2i). Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ef83c9b762ee083a2bf1948befdb5dd0fb8df00b |
|
20-Feb-2015 |
Dave Airlie <airlied@redhat.com> |
st/mesa: add double input support including lowering (v3.1) This takes a different approach to previously, we cannot index into the inputMapping with anything but the mesa attribute index, so we can't use the just add one to index trick, we need more info to add one to it after we've mapped the input. (Fixed copy propgation and cleaned up a little) v2: drop float64 format check, just attr->Doubles. merge enable patch. v3: cleanup code a bit. v3.1: minor review fixups (comment, newline) (Ilia) Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
731b7c49bb78d6d1be25f9010af0087146de0b48 |
|
20-Feb-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: fix ir_assignment hack doing bad things for doubles This hack for fixing gl_FragDepth apparantly caused a GLSL shader outputting a single double to try and output a dvec4, but we hadn't assigned outputs for the secondary bit. This avoids going into the hack code for scalar doubles. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e050a19af895318aaf417919c6a8ecba2da53304 |
|
17-Apr-2015 |
Brian Paul <brianp@vmware.com> |
mesa/st: Free st_translate with FREE macro. To match CALLOC_STRUCT macro. Fixes memory corruption on Windows when u_memory's memory debugging is enabled. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0d46440c3a31ee9bd35bb48de419332c65761205 |
|
11-Apr-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: only associate the uniform storage once at link time This hack is no longer needed. (see the previous commit) Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bb5df7350b9ac780389bce9c7642cb88681a4b2d |
|
11-Apr-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: add STATE_FB_WPOS_Y_TRANSFORM at link time This will allow removing the uniform storage re-association during TGSI generation at draw time. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e2066a4344e05ab66442e5de5a3caa19f7809323 |
|
11-Apr-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: add assertions for detecting out-of-bounds immediates access Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
dcc74d47c40bf117f2dfaa359f9de7faef2c2200 |
|
11-Apr-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: don't use a potentially-undefined immediate for ir_query_levels Cc: 10.4 10.5 <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
14c5bc3b9a6b03a8e42ef79da66d8b81b239cf96 |
|
11-Apr-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: fix out-of-bounds constant access and crash for uniforms This fixes piglit shaders@glsl-fs-uniform-array-loop-unroll with immediate shader compilation - it's a compiler test, so it has never been translated to TGSI before. Cc: 10.4 10.5 <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d3045d391b0b06faf4fb6be0394ff64c415cf336 |
|
18-Mar-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: cleanup includes Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
99eef3b8b324d3be6f3b8f2a34c95006d8205599 |
|
10-Apr-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: add a debug option to compile shaders at link time v2: fix crashes Tested-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e1d095053b2b50109f77fd9eb524e8e1c7d025af |
|
14-Apr-2015 |
Brian Paul <brianp@vmware.com> |
st/mesa: log shaders, GLSL info log with _mesa_log() As with previous patch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
50cb780f7f90ffc4018f41502a472604bf1677c3 |
|
07-Apr-2015 |
Marius Predut <marius.predut@intel.com> |
state_tracker: replace __FUNCTION__ with __func__ Consistently just use C99's __func__ everywhere. The patch was verified with Microsoft Visual studio 2013 redistributable package(RTM version number: 18.0.21005.1) Next MSVC versions intends to support __func__. No functional changes. Acked-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Marius Predut <marius.predut@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c8d65dd7138ba5683be16e692882e41d6dae7bf8 |
|
02-Apr-2015 |
Matt Turner <mattst88@gmail.com> |
st/mesa: Remove unused emit_scs(). Was only used by the sin_reduced/cos_reduced cases, which themselves were impossible to reach. Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5c71cf85315320fcb8b1cc2178f7f2d76b3beeef |
|
02-Apr-2015 |
Matt Turner <mattst88@gmail.com> |
glsl: Remove never used sin_reduced/cos_reduced. These were added in commit f2616e56, presumably in preparation for translating ARB vp/fp into GLSL IR. That never happened, and neither did a lowering pass that actually generated these instructions. Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f95a6b2ff4237181fd7e9622e19e9aa0719a1f21 |
|
27-Mar-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: initialize have_fma in constructor Spotted by Coverity. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
91e3533481d6921c4b46109742d6f67b7f897f86 |
|
26-Mar-2015 |
Dave Airlie <airlied@redhat.com> |
st_glsl_to_tgsi: only do mov copy propagation on temps (v2) Don't propagate ARRAYs This should fix: https://bugs.freedesktop.org/show_bug.cgi?id=89759 v2: just specify arrays so we get input propagation Signed-off-by: Dave Airlie <airlied@redhat.com> Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
216543ea547dd0572d9f2f0364f7a239a5aeafe1 |
|
28-Feb-2015 |
Marek Olšák <marek.olsak@amd.com> |
gallium: add FMA and DFMA opcodes (v3) Needed by ARB_gpu_shader5. v2: select DMAD for FMA with double precision v3: add and select DFMA Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2f0143ca968d739e8b9cefb213ac61402a7f6587 |
|
28-Feb-2015 |
Brian Paul <brianp@vmware.com> |
st/mesa: replace Elements() with ARRAY_SIZE() Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a86054bac70f913880bd838d4565c1270b0c00aa |
|
24-Feb-2015 |
Brian Paul <brianp@vmware.com> |
st/mesa: remove struct qualifier from st_src_reg parameter It's a class. Silences MSVC warning.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bfcdb843830bba0190e00e35e3c5c18c4bdb5de1 |
|
21-Feb-2015 |
Matt Turner <mattst88@gmail.com> |
mesa: Use assert() instead of ASSERT wrapper. Acked-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6316c90cc0daa9e9476b00e3c52c51190e782c3f |
|
18-Jul-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: lower DFRACEXP/DLDEXP when they are not supported Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e4a3f48a45fdbb85e842aa9aeac1ed4e68048f3a |
|
25-Jul-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: disable lowering of dops to dfrac when dround is available Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e556bfc8ff7abd51eacb5a1810964e3d28123b8c |
|
25-Jul-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
st/mesa: add support for new double opcodes Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8c6a0ebaad7224c40e55645b9c34aefe9b16542e |
|
17-Feb-2015 |
Dave Airlie <airlied@redhat.com> |
st/mesa: add st fp64 support (v7.1) This adds support to the state tracker for ARB_gpu_shader_fp64. The details are explained in comments within the code. v2 : add double to int/unsigned conversion v3: handle fp64 consts better v4: use DRSQ v4.1: add d2b v4.2: drop DDIV v5: split out some prep patches. v5.1: add some comments. v5.2: more comments v6: simplify down the double instruction generation loop. v7: Merge Ilia's two cleanup patches. v7.1: minor fixups for Ilia patch + cleanups Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0178358a2d015a5fc8e3c7dfdd8ec4b1cfc64ea1 |
|
17-Feb-2015 |
Dave Airlie <airlied@redhat.com> |
mesa/st_tgsi_to_glsl: prepare add_constant for fp64 This just moves stuff around a little to make the next patch cleaner. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
12150a5beedf13eef236be8d59f696970c0d6972 |
|
17-Feb-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: convert dst to an array This is just prep work for fp64 support where we need an array of 2 dst values. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
21c57a697f170872ad8ae19bc2fe7a27082f51a9 |
|
19-Feb-2015 |
Brian Paul <brianp@vmware.com> |
st/mesa: add GSL_TYPE_DOUBLE, new ir_unop_* switch cases To silence compiler warnings about unhandled switch cases. v2: move GSL_TYPE_DOUBLE case to the "Invalid type in type_size" section, per Ilia. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
59292b38eb0173dfdf42a8ae24322e46d51d759d |
|
17-Feb-2015 |
Dave Airlie <airlied@redhat.com> |
st/glsl_to_tgsi: fix whitespace everytime I open this file in emacs with show trailing whitespace or git add from it my screen flares with red. Just do a general cleanup, makes working on fp64 support not as jarring. I'm not saying this is perfect, its just better than before. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cfb5b1c59eb42a7a1c0972aa1947050b2e04ba9b |
|
22-Jan-2015 |
Nils Wallménius <nils.wallmenius@gmail.com> |
st/mesa: mark constant array of swizzles as static const This saves about 0.5k in the text section for a gallium driver on amd64. Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5dfb085ff325df3dbefda515f06106469babbefc |
|
20-Jan-2015 |
Iago Toral Quiroga <itoral@igalia.com> |
glsl: Improve precision of mod(x,y) Currently, Mesa uses the lowering pass MOD_TO_FRACT to implement mod(x,y) as y * fract(x/y). This implementation has a down side though: it introduces precision errors due to the fract() operation. Even worse, since the result of fract() is multiplied by y, the larger y gets the larger the precision error we produce, so for large enough numbers the precision loss is significant. Some examples on i965: Operation Precision error ----------------------------------------------------- mod(-1.951171875, 1.9980468750) 0.0000000447 mod(121.57, 13.29) 0.0000023842 mod(3769.12, 321.99) 0.0000762939 mod(3769.12, 1321.99) 0.0001220703 mod(-987654.125, 123456.984375) 0.0160663128 mod( 987654.125, 123456.984375) 0.0312500000 This patch replaces the current lowering pass with a different one (MOD_TO_FLOOR) that follows the recommended implementation in the GLSL man pages: mod(x,y) = x - y * floor(x/y) This implementation eliminates the precision errors at the expense of an additional add instruction on some systems. On systems that can do negate with multiply-add in a single operation this new implementation would come at no additional cost. v2 (Ian Romanick) - Do not clone operands because when they are expressions we would be duplicating them and that can lead to suboptimal code. Fixes the following 16 dEQP tests: dEQP-GLES3.functional.shaders.builtin_functions.precision.mod.mediump_* dEQP-GLES3.functional.shaders.builtin_functions.precision.mod.highp_* Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3c3e60e050ea0850fcfeb5c4c2aa4f954d54d665 |
|
14-Jan-2015 |
Jan Vesely <jan.vesely@rutgers.edu> |
mesa: Add assert to check number of vector elements The below code crashes when vector_elements <= 0 Fixes Warray-bounds warnings Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5b01512df3328711968dea7240ae817721c79774 |
|
11-Jan-2015 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: don't set vs.key.clamp_color if a shader doesn't write any colors And update some comments.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
24d94874323ef59ebc83c806497c3d826ae37b9e |
|
12-Dec-2014 |
Eric Anholt <eric@anholt.net> |
state_tracker: Fix assertion failures in conditional block movs. If you had a conditional assignment of an array or struct (say, from the if-lowering pass), we'd try doing swizzle_for_size() on the aggregate type, and it would assertion fail due to vector_elements==0. Instead, extend emit_block_mov() to handle emitting the conditional operations, which also means we'll have appropriate writemasks/swizzles on the CMPs within a struct containing various-sized members. Fixes 20 testcases in es3conform on vc4. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
48094d0e6554a9df36bf00fc2793ade46cf92406 |
|
02-Jan-2015 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: fix a bug in copy propagation This fixes the new piglit test: arb_uniform_buffer_object/2-buffers-bug Cc: 10.2 10.3 10.4 <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c6e8d2c6593820e48eb2f1088c4d06ad633e509e |
|
16-Dec-2014 |
Brian Paul <brianp@vmware.com> |
st/mesa: remove extern "C" around #includes in st_glsl_to_tgsi.cpp Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
fef58979e191e4410fbab2f7dd14cafc340712da |
|
12-Dec-2014 |
Roland Scheidegger <sroland@vmware.com> |
st/mesa: use vertex id lowering according to pipe cap bit. Tested with llvmpipe by setting the cap bit temporarily, seems to work, though no driver requests it for now.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
49e04312116e4f7bbb9ebcc59247a0bcb89c3064 |
|
01-Dec-2014 |
Abdiel Janulgue <abdiel.janulgue@linux.intel.com> |
st/mesa: For vertex shaders, don't emit saturate when SM 3.0 is unsupported There is a bug in the current lowering pass implementation where we lower saturate to clamp only for vertex shaders on drivers supporting SM 3.0. The correct behavior is to actually lower to clamp only when we don't support saturate which happens on drivers that don't support SM 3.0 Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d8da6deceadf5e48201d848b7061dad17a5b7cac |
|
05-Dec-2014 |
Roland Scheidegger <sroland@vmware.com> |
mesa/st: don't use CMP / I2F for conditional assignments with native integers The original idea was to optimize away the condition by integrating it directly into the CMP instruction. However, with native integers this requires an extra I2F instruction. It is also fishy because the negation used didn't really honor ieee754 float comparison rules, not to mention the CMP instruction itself (being pretty much a legacy instruction) doesn't really have defined special float value behavior in any case. So, use UCMP and adjust the code trying to optimize the condition away accordingly (I have absolutely no idea if such conditions are actually hit or would be translated away somewhere else already). v2: cosmetic changes No piglit regressions on llvmpipe. Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
11abd7b2bc49455bb8c5b2f9e60f92d4284ae6c2 |
|
17-Nov-2014 |
Brian Paul <brianp@vmware.com> |
st/mesa: copy sampler_array_size field when copying instructions The sampler_array_size field was added by "mesa/st: add support for dynamic sampler offsets". But the field wasn't getting copied in the get_pixel_transfer_visitor() or get_bitmap_visitor() functions. The count_resources() function then didn't properly compute the glsl_to_tgsi_visitor::samplers_used bitmask. Then, we didn't declare all the sampler registers in st_translate_program(). Finally, we asserted when we tried to emit a tgsi ureg src register with File = TGSI_FILE_UNDEFINED. Add the missing assignments and some new assertions to catch the invalid register sooner. Cc: "10.3, 10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
48f1409c3bf392f4b277eb6ecaf64e68e314e259 |
|
09-Nov-2014 |
Marek Olšák <marek.olsak@amd.com> |
tgsi/ureg: simplify code for declaring properties Tested-by: Nick Sarnie <commendsarnex@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
edcba62655635e0c1d355e5e3f7c24e895d34005 |
|
21-Oct-2014 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl_to_tgsi: Remove st_new_shader It was identical to the default implementation in _mesa_new_shader. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Cc: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
deee3b0f9ec3128939c166120153a16eb1807396 |
|
21-Oct-2014 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl_to_tgsi: Remove st_new_shader_program It was identical to the default implementation in _mesa_new_shader_program. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Cc: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
013850a1b7d6605e32883f2e93fa3d51cd3eb218 |
|
06-Oct-2014 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: use _mesa_copy_linked_program_data This deduplicates some code.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9ec305ead7750c7f91c79b043584c1997bacd9a7 |
|
16-Oct-2014 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: fix the value of gl_FrontFacing with native integers We must convert it to boolean from the DX9 float encoding that Gallium specifies. Later, we should probably define that FACE should be 0 or ~0 if native integers are supported. Cc: 10.2 10.3 <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5aa8d8194c4975876276a9c57cdd672978a491ad |
|
15-May-2014 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl: Make ir_variable::num_state_slots and ir_variable::state_slots private Also move num_state_slots inside ir_variable_data for better packing. The payoff for this will come in a few more patches. No change Valgrind massif results for a trimmed apitrace of dota2. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ffbcee8a57a52c17e9f099408f0f362acf1b7fdd |
|
12-Sep-2014 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: use UniformBooleanTrue in glsl_to_tgsi Just for consistency. This doesn't fix anything as the original code was already pretty good. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7f6872d012e66b11b64179cd7c214d10d4ae55cd |
|
02-Sep-2014 |
Dave Airlie <airlied@redhat.com> |
st_glsl_to_tgsi: init have_sqrt field. Coverity reported this. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1e87fbd78f15f262b3dd2cbc16099e9f484c42a0 |
|
21-Jun-2014 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: Add SYSTEM_VALUE_BASE_VERTEX This system value represents the basevertex value passed to glDrawElementsBaseVertex and related functions. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5964a4f344fa4fd631bcccf67c065b9e66b94108 |
|
19-Jun-2014 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: Add SYSTEM_VALUE_VERTEX_ID_ZERO_BASE There exists hardware, such as i965, that does not implement the OpenGL semantic for gl_VertexID. Instead, that hardware does not include the value of basevertex in the gl_VertexID value. SYSTEM_VALUE_VERTEX_ID_ZERO_BASE is the system value that represents this semantic. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
511d2f9a133f95e0ab01de2aa05acdb23fb588d4 |
|
03-Sep-2014 |
Eric Anholt <eric@anholt.net> |
state_tracker: Fix bug in conditional discards with native ints. A bool is 0 or ~0, and KILL_IF takes a float arg that's <0 for discard or >= 0 for not. By negating it, we ended up doing a floating point subtract of (0 - ~0), which ended up as an inf. To make this actually work, we need to convert the bool to a float. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
482def592fede9c4c2f1e6944df42e8319dd6b78 |
|
24-Aug-2014 |
Marek Olšák <marek.olsak@amd.com> |
glsl_to_tgsi: allocate and enlarge arrays for temporaries on demand This fixes crashes if the number of temporaries is greater than 4096. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66184 v2: added fail paths for realloc failures Cc: 10.2 10.3 mesa-stable@lists.freedesktop.org Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b2c0c35907eb5f0b271b3d5a9799539a53cdfe20 |
|
16-Jun-2014 |
Abdiel Janulgue <abdiel.janulgue@linux.intel.com> |
ir_to_mesa, glsl_to_tgsi: Remove try_emit_saturate Now that saturate is implemented natively as instruction, we can cut down on unneeded functionality. Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
909fa50f5b224fea4aeb464c0b315adad0ff571a |
|
16-Jun-2014 |
Abdiel Janulgue <abdiel.janulgue@linux.intel.com> |
ir_to_mesa, glsl_to_tgsi: Add support for ir_unop_saturate Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cfa8c1cb39846c3211e0d88612122b2f5ec45f23 |
|
16-Jun-2014 |
Abdiel Janulgue <abdiel.janulgue@linux.intel.com> |
ir_to_mesa, glsl_to_tgsi: lower ir_unop_saturate Needed when vertex programs doesn't allow saturate Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
88b0c6403fd97e5527a684732250162242f340c2 |
|
14-Aug-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: add support for emitting fine derivative opcodes Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6174f491707607e4ad2eca3fc159ec55be8635fd |
|
06-Aug-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: add support for dynamic sampler offsets Replace the plain sampler index with a register reference to a sampler. We also need to keep track of the sampler array size when there is a relative reference so that we can mark the whole array used. To facilitate implementation, we add a separate ADDR register that exclusively handles the sampler relative address. Other approaches would be more invasive. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Acked-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
002211f9eea258acc253528024ee104aa1fcd90d |
|
03-Aug-2014 |
Marek Olšák <marek.olsak@amd.com> |
mesa: move ShaderCompilerOptions into gl_constants Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e0c867372a2ff57944cfe1987550d29c4c509ebb |
|
02-Aug-2014 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl_to_tgsi: Delete unused function set_uniform_initializer Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4837b130a76a49b3a9edbd3543843091ee1a75ce |
|
19-Jun-2014 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: Group gl_system_value values by the stage where they exist Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5d7275c350f1e05f7c9a06316e1826bf42bb769b |
|
19-Jun-2014 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl_to_tgsi: Assert that the _mesa_sysval_to_semantic mapping is correct Future patches will rearrange the values in gl_system_value, and I want to catch errors. Designated initializers would make all of this unnecessary. v2: Don't use STATIC_ASSERT. Not only does it not work, but GCC doesn't tell you that it's not going to work. Thanks for nothing! Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
21ef7f58e382f7a179570d157d6bb7c1241a7afe |
|
19-Jun-2014 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa/st: Only one copy of mesa_sysval_to_semantic Future patches will necessitate changes to the table, and I only want to update one. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1c887ae6e24d00b661e912d35fb07fc70ff452f1 |
|
19-Jun-2014 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl_to_tgsi: Constify mesa_sysval_to_semantic Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3347c634d0508af93445b1ac1bdec1f55e2b2ae0 |
|
05-Aug-2014 |
Michel Dänzer <michel.daenzer@amd.com> |
glsl_to_tgsi: Fix typo shader_program -> shader This was a regression introduced by commit f4b0ab7afd83c811329211eae8167c9bf238870c ('st/mesa: fix incorrect size of UBO declarations') which caused an assertion failure while compiling shaders of e.g. UE4 demos. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81834 Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
21129d4de300f1a934d02e30347c465520afef9e |
|
24-Jul-2014 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Make it possible to ignore built-ins when matching signatures. Historically, we've implemented the rules for overriding built-in functions by creating multiple ir_functions and relying on the symbol table to hide the one containing built-in functions. That works, but has a few drawbacks, so the next patch will change it. Instead, we'll have a single ir_function for a particular name, which will contain both built-in and user-defined signatures. Passing an extra parameter to matching_signature makes it easy to ignore built-ins when they're supposed to be hidden. I didn't add the parameter to exact_matching_signature since it wasn't necessary. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cf3c73cf200edd6a852270d3a152340457d56333 |
|
25-Jul-2014 |
Jan Vesely <jan.vesely@rutgers.edu> |
mesa/st: Fix compiler warnings both array and index are unsigned types Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7b3d0a9a1eb11bf70390ad116ed662a47f06183e |
|
03-Aug-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: only convert AND(a, NOT(b)) into MAD when not using native integers Native integers imply a somewhat different handling of booleans. Instead of being 1.0/0.0 floats, they are 0 (true) / -1 (false) integers. As such the original optimization no longer applies. Reported-by: Glenn Kennard <glenn.kennard@gmail.com> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
47b064fd8a31dac048c65c536750ec9c83e22a86 |
|
06-Jul-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: add support for dynamic ubo selection Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Brian Paul <brianp@vmware.com> (v1) v2: fix src register, use index2D for base of 1 Acked-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9c4959d0df524cf81395de59f15a4a1b19073aed |
|
06-Jul-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: add support for interpolate_at_* ops Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1d5b06664fdd31a9447a1d10ec0615245aa46563 |
|
10-Nov-2013 |
Chris Forbes <chrisf@ijw.co.nz> |
glsl: add new expression types for interpolateAt* Will be used to implement interpolateAt*() from ARB_gpu_shader5 Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a11fff329ea0b236ee5d2d7ad563af49770c04c7 |
|
04-Jul-2014 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: fix samplerCubeShadow with bias It has 5 coordinates: (x,y,z,depth,lodbias) Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4c97ed4411e3653a082875b79587fb308c284a99 |
|
02-Jul-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
gallium: switch dedicated centroid field to interpolation location The new location field can be either center, centroid, or sample, which indicates the location that the shader should interpolate at. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
22cd9173295e2212e355db514bfc52138d03079d |
|
25-Jun-2014 |
Matt Turner <mattst88@gmail.com> |
mesa: Add and use foreach_in_list_use_after. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
373824d7699c0316ded81edf014bc7cd8d3290f2 |
|
25-Jun-2014 |
Matt Turner <mattst88@gmail.com> |
mesa: Use typed foreach_in_list_safe instead of foreach_list_safe. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e0cb82d0c4ceba437c351d1e37fdb86fe5aed997 |
|
25-Jun-2014 |
Matt Turner <mattst88@gmail.com> |
mesa: Use typed foreach_in_list instead of foreach_list. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f4b0ab7afd83c811329211eae8167c9bf238870c |
|
01-Jul-2014 |
Brian Paul <brianp@vmware.com> |
st/mesa: fix incorrect size of UBO declarations UniformBufferSize is in bytes so we need to divide by 16 to get the number of constant buffer slots. Also, the ureg_DECL_constant2D() function takes first..last parameters so we need to subtract one for the last value. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
01bf8bb87565ed3677e43c6b6deeb90378d88647 |
|
01-Jul-2014 |
Brian Paul <brianp@vmware.com> |
st/mesa: don't use address register for constant-indexed ir_binop_ubo_load Before, we were always using the address register and indirect addressing to index into a UBO constant buffer. With this change we only do that when necessary. Using the piglit bin/arb_uniform_buffer_object-rendering test as an example: Shader code: uniform ub_rot {float rotation; }; ... m[1][1] = cos(rotation); Before: IMM[1] INT32 {0, 1, 0, 0} 1: UARL ADDR[0].x, IMM[1].xxxx 2: MOV TEMP[0].x, CONST[3][ADDR[0].x].xxxx 3: COS TEMP[1].x, TEMP[0].xxxx After: 0: COS TEMP[0].x, CONST[3][0].xxxx Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
dfca35f8078e79e8c5ba520dae4a2741b96c9ed9 |
|
01-Jul-2014 |
Brian Paul <brianp@vmware.com> |
st/mesa: allow 2D indexing for all shader types in translate_src() Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f11e3dc122d6fba23bf01f0ec2d27cd8e26cf534 |
|
01-Jul-2014 |
Brian Paul <brianp@vmware.com> |
st/mesa: don't ignore const buf index in src_register() Otherwise, if we were creating a const buffer src register for a UBO the index into the UBO was always zero. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1d16dbf4160b41f1177827198a4bb32969e15809 |
|
16-Jun-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: add vertex stream support Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7f1b365f65ed5b95a941cf22f35f480d00739d4b |
|
15-Jun-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
gallium: add support for stream in so info Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0cbefc1bea703378381afff946e30c27a21f191d |
|
11-Jun-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
gallium: add vertex stream argument to EMIT/ENDPRIM Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1df7199fc933facf2e74304976c3798e474929a1 |
|
14-Jun-2014 |
Marek Olšák <marek.olsak@amd.com> |
gallium: implement ARB_texture_query_levels The extension is always supported if GLSL 1.30 is supported. Softpipe and llvmpipe support is also added (trivial). Radeon and nouveau support is already done. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2bab95973d8ad3a84f62670143d6f26c230d9582 |
|
14-May-2014 |
Michel Dänzer <michel.daenzer@amd.com> |
glsl_to_tgsi: Make sure the 'shader' member is always initialized Fixes the valgrind report below and random crashes with piglit on radeonsi. ==30005== Conditional jump or move depends on uninitialised value(s) ==30005== at 0xB13584E: st_translate_program (st_glsl_to_tgsi.cpp:5100) ==30005== by 0xB14698B: st_translate_fragment_program (st_program.c:747) ==30005== by 0xB14777D: st_get_fp_variant (st_program.c:824) ==30005== by 0xB11219C: get_color_fp_variant (st_cb_drawpixels.c:1042) ==30005== by 0xB1131AE: st_DrawPixels (st_cb_drawpixels.c:1154) ==30005== by 0xAFF8806: _mesa_DrawPixels (drawpix.c:162) ==30005== by 0x4EB86DB: stub_glDrawPixels (generated_dispatch.c:6640) ==30005== by 0x4F1DF08: piglit_visualize_image (piglit-util-gl.c:1574) ==30005== by 0x40691D: draw_image_to_window_system_fb(int, bool) (draw-buffers-common.cpp:733) ==30005== by 0x406C8B: draw_reference_image(bool, bool) (draw-buffers-common.cpp:854) ==30005== by 0x40722A: piglit_display (alpha-to-coverage-dual-src-blend.cpp:117) ==30005== by 0x4EA7168: run_test (piglit_fbo_framework.c:52) Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3e817e7e56806d8adb8f16c35136045c29908944 |
|
14-May-2014 |
Roland Scheidegger <sroland@vmware.com> |
mesa/st: fix number of ubos being declared in a shader Previously the code used the total number of ubos being declared in the linked program (so the ubos of all shaders combined), use the number from the particular shader instead. This fixes an assertion failure with piglit arb_uniform_buffer_object-maxblocks seen in llvmpipe since 8a9f5ecdb116d0449d63f7b94efbfa8b205d826f as it now emits code for each declared buffer, not just the ones actually used. CC: "10.1 10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
04b7e65814cd2174185109d3c55c86eb4134f09b |
|
08-May-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: provide native integers implementation of ir_unop_any Previously, ir_unop_any was implemented via a dot-product call, which uses floating point multiplication and addition. The multiplication was completely pointless, and the addition can just as well be done with an or. Since we know that the inputs are booleans, they must already be in canonical 0/~0 format, and the final SNE can also be avoided. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4e974a9cf323d774bfcbdd44d5cb1f7bf6391964 |
|
06-May-2014 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: remove unnecessary dead code elimination pass With the more advanced dead code elimination pass already being run, eliminate_dead_code was making no difference in instruction count, and had an undesirable O(n^2) runtime. So remove it and rename eliminate_dead_code_advanced to eliminate_dead_code. Reviewed-by: Marek Olšák <marek.olsak at amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
83b900fd0a2187fe70e553ac782660cd23c5041c |
|
27-Apr-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: pass 4-offset TG4 without lowering if supported Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cd064c6a25a8b8d645d35b0f14d933fa09ddbb23 |
|
29-Apr-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: enable carry/borrow lowering pass This handles the last of the ARB_gs5 instructions currently present in mesa. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3e73bf2724596330d71e1ee0548d48b741d3d261 |
|
25-Apr-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: implement new bit manipulation opcodes Also pipe through [IU]MUL_HI, MAD, and lower ldexp. This provides coverage of all new ARB_gpu_shader5 functions except uaddCarry, usubBorrow and interpolateAt*. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c3d2bda53e3d3d5468305360a8a96230d64c0923 |
|
24-Apr-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: translate gl_InvocationID to INVOCATIONID semantic Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
389379e81dfae873b9381e0568bb4ac27fd909ef |
|
24-Apr-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: translate gl_SampleMaskIn to SAMPLEMASK semantic Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c5d822dad902b19f06c9be3c6863a51e1881ec5b |
|
31-Mar-2014 |
Ilia Mirkin <imirkin@alum.mit.edu> |
mesa/st: add support for ARB_sample_shading Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
74f19445cc5b75302ce40be48787db877680ae5e |
|
17-Apr-2014 |
Maarten Lankhorst <maarten.lankhorst@canonical.com> |
gallium glsl: Fix crash with piglit fs-deref-literal-array-of-structs.shader_test This allows the following shader code to work without a weird crash: struct Foo { int value[1]; }; int actual_value = Foo[2](Foo(int[1](100)), Foo(int[1](200)))[i].value[0]; Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
da22221aa365923e033a65c1fbe19ed27301d000 |
|
09-Apr-2014 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Drop do_common_optimization's max_unroll_iterations parameter. Now that we pass in gl_shader_compiler_options, it makes sense to just use options->MaxUnrollIterations, rather than passing a separate parameter. Half of the invocations already passed options->MaxUnrollIterations, while the other half passed in a hardcoded value of 32. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
169c645f12337cdc3e02b628f9cde6a9fb72acc2 |
|
07-Apr-2014 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Pass ctx->Const.NativeIntegers to do_common_optimization(). The next few patches will introduce an optimization that only works when integers are not represented as floating point values. v2: Re-word-wrap a line, as requested by Ian Romanick. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4dc13e3c71f7d2898ce10e8fd9e72b06e64cd825 |
|
25-Feb-2014 |
Dave Airlie <airlied@redhat.com> |
st/mesa: add support for ARB_texture_query_lod Add support for the LODQ texture instruction. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c03477050a6f51e601f75cb3c061a3e16a5b7171 |
|
03-May-2013 |
Gregory Hainaut <gregory.hainaut@gmail.com> |
mesa/sso: rename Shader to the pointer _Shader Basically a sed but shaderapi.c and get.c. get.c => GL_CURRENT_PROGAM always refer to the "old" UseProgram behavior shaderapi.c => the old api stil update the Shader object directly V2: formatting improvement V3 (idr): * Rebase fixes after a block of code was moved from ir_to_mesa.cpp to shaderapi.c. * Trivial reformatting. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7c3138acb9de06148c0162384e49cc093148a1d6 |
|
07-Feb-2014 |
Dave Airlie <airlied@redhat.com> |
st/mesa: add texture gather support. (v2) This adds support for GL_ARB_texture_gather, and one step of support for GL_ARB_gpu_shader5. This adds support for passing the TG4 instruction, along with non-constant texture offsets, and tracking them for the optimisation passes. This doesn't support native textureGatherOffsets hw, to do that you'd need to add a CAP and if set disable the lowering pass, and bump the MAX offsets to 4, then do the i0,j0 sampling using those. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5e639a5f59a348abddff8f2cd475c00ef79c8776 |
|
23-Feb-2014 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Pass stdout to _mesa_print_ir from st_glsl_to_tgsi. Fixes the Gallium build since commit 1e3bd9f9a5af90295788c5d71ea27c. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75389 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
86d6b5546b75ac7d5eedc26c14f579a4bfb40406 |
|
25-Jan-2014 |
Jordan Justen <jordan.l.justen@intel.com> |
mesa: initialize gl_geometry_program Invocations field Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Paul Berry <stereotype441@gmail.com> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8a2508ee0726b349318c1e05122edbe5a545480a |
|
25-Nov-2013 |
Francisco Jerez <currojerez@riseup.net> |
glsl: Add image type to the GLSL IR. v2: Reuse the glsl_sampler_dim enum for images. Reuse the glsl_type::sampler_* fields instead of creating new ones specific to image types. Reuse the same constructor as for samplers adding a new 'base_type' argument. Reviewed-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
db98d238e237f19c3d1bc201e748ed5bf289ba6b |
|
05-Feb-2014 |
Brian Paul <brianp@vmware.com> |
st/mesa: add MESA_SHADER_COMPUTE case in shader_stage_to_ptarget() Silences compiler warning. Trivial.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
46d210d38fc472d5454cef864c4299c52bb46c86 |
|
09-Jan-2014 |
Paul Berry <stereotype441@gmail.com> |
mesa: Replace _mesa_program_index_to_target with _mesa_shader_stage_to_program. In my recent zeal to refactor Mesa's handling of the gl_shader_stage enum, I accidentally wound up with two functions that do the same thing: _mesa_program_index_to_target(), and _mesa_shader_stage_to_program(). This patch keeps _mesa_shader_stage_to_program(), since its name is more consistent with other related functions. However, it changes the signature so that it accepts an unsigned integer instead of a gl_shader_stage--this avoids awkward casts when the function is called from C++ code. Reviewed-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
48d0faaa4388f411ea64fef8f4be04c22d02a4cf |
|
11-Jan-2014 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Use a new foreach_two_lists macro for walking two lists at once. When handling function calls, we often want to walk through the list of formal parameters and list of actual parameters at the same time. (Both are guaranteed to be the same length.) Previously, we used a pattern of: exec_list_iterator 1st_iter = <1st list>.iterator(); foreach_iter(exec_list_iterator, 2nd_iter, <2nd list>) { ... 1st_iter.next(); } This was awkward, since you had to manually iterate through one of the two lists. This patch introduces a foreach_two_lists macro which safely walks through two lists at the same time, so you can simply do: foreach_two_lists(1st_node, <1st list>, 2nd_node, <2nd list>) { ... } v2: Rename macro from foreach_list2 to foreach_two_lists, as suggested by Ian Romanick. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2e113dfab8c7068e083960fcf0b93418c3d79fa3 |
|
11-Jan-2014 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Replace foreach_iter and iter.remove() with foreach_list_safe. foreach_list_safe allows you to safely remove the current node. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5f7e778fa1b1e969a1b15e3650dec49b0026ed08 |
|
22-Nov-2013 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Convert piles of foreach_iter to the newer foreach_list macro. foreach_iter and exec_list_iterators have been deprecated for some time now; we just hadn't ever bothered to convert code to the newer foreach_list and foreach_list_safe macros. In these cases, we aren't editing the list, so we can use foreach_list rather than foreach_list_safe. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8668eaaa007a1a0b23a4bc39469d6dba293b7da9 |
|
08-Jan-2014 |
Paul Berry <stereotype441@gmail.com> |
mesa: Use functions to convert gl_shader_stage to PROGRAM enum or pipe target. Suggested-by: Brian Paul <brianp@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> v2: Improve assert message.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
84732a982c3eeaca2e2809532c8422dc5f7045c1 |
|
08-Jan-2014 |
Paul Berry <stereotype441@gmail.com> |
mesa: replace ctx->Const.{Vertex,Fragment,Geomtery}Program with an array. These are replaced with ctx->Const.Program[MESA_SHADER_{VERTEX,FRAGMENT,GEOMETRY}]. In patches to follow, this will allow us to replace a lot of ad-hoc logic with a variable index into the array. With the exception of the changes to mtypes.h, this patch was generated entirely by the command: find src -type f '(' -iname '*.c' -o -iname '*.cpp' -o -iname '*.py' \ -o -iname '*.y' ')' -print0 | xargs -0 sed -i \ -e 's/Const\.VertexProgram/Const.Program[MESA_SHADER_VERTEX]/g' \ -e 's/Const\.GeometryProgram/Const.Program[MESA_SHADER_GEOMETRY]/g' \ -e 's/Const\.FragmentProgram/Const.Program[MESA_SHADER_FRAGMENT]/g' Suggested-by: Brian Paul <brianp@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
31ec2f83385c4f13c9c8831a90db982883bbedcd |
|
07-Jan-2014 |
Paul Berry <stereotype441@gmail.com> |
mesa: Remove _mesa_progshader_enum_to_string(), which is no longer used. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
acfc58a7e593cdb377527c8b84e2fd9bf5906079 |
|
07-Jan-2014 |
Paul Berry <stereotype441@gmail.com> |
glsl: Make more use of gl_shader_stage enum in ir_set_program_inouts.cpp. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
65511e5f22e2ba0a5ebd9210319a55d80ea5334e |
|
07-Jan-2014 |
Paul Berry <stereotype441@gmail.com> |
mesa: Store gl_shader_stage enum in gl_shader objects. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
665b8d7b6d8eae03c9dc0ef1a744fe59d9cc6cb6 |
|
07-Jan-2014 |
Paul Berry <stereotype441@gmail.com> |
mesa: Clean up nomenclature for pipeline stages. Previously, we had an enum called gl_shader_type which represented pipeline stages in the order they occur in the pipeline (i.e. MESA_SHADER_VERTEX=0, MESA_SHADER_GEOMETRY=1, etc), and several inconsistently named functions for converting between it and other representations: - _mesa_shader_type_to_string: gl_shader_type -> string - _mesa_shader_type_to_index: GLenum (GL_*_SHADER) -> gl_shader_type - _mesa_program_target_to_index: GLenum (GL_*_PROGRAM) -> gl_shader_type - _mesa_shader_enum_to_string: GLenum (GL_*_{SHADER,PROGRAM}) -> string This patch tries to clean things up so that we use more consistent terminology: the enum is now called gl_shader_stage (to emphasize that it is in the order of pipeline stages), and the conversion functions are: - _mesa_shader_stage_to_string: gl_shader_stage -> string - _mesa_shader_enum_to_shader_stage: GLenum (GL_*_SHADER) -> gl_shader_stage - _mesa_program_enum_to_shader_stage: GLenum (GL_*_PROGRAM) -> gl_shader_stage - _mesa_progshader_enum_to_string: GLenum (GL_*_{SHADER,PROGRAM}) -> string In addition, MESA_SHADER_TYPES has been renamed to MESA_SHADER_STAGES, for consistency with the new name for the enum. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> v2: Also rename the "target" field of _mesa_glsl_parse_state and the "target" parameter of _mesa_shader_stage_to_string to "stage". Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
26707abe5635e99814603a0f4895865e977cf267 |
|
17-Dec-2013 |
Paul Berry <stereotype441@gmail.com> |
Rename overloads of _mesa_glsl_shader_target_name(). Previously, _mesa_glsl_shader_target_name() had an overload for GLenum and an overload for the gl_shader_type enum, each of which behaved differently. However, since GLenum is a synonym for unsigned int, and unsigned ints are often used in place of gl_shader_type (e.g. in loop indices), there was a big risk of calling the wrong overload by mistake. This patch gives the two overloads different names so that it's always clear which one we mean to call. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
447bb9029f7e03b03e507053b9f63536d8fc74ac |
|
12-Dec-2013 |
Tapani Pälli <tapani.palli@intel.com> |
glsl: move variables in to ir_variable::data, part II This patch moves following bitfields and variables to the data structure: explicit_location, explicit_index, explicit_binding, has_initializer, is_unmatched_generic_inout, location_frac, from_named_ifc_block_nonarray, from_named_ifc_block_array, depth_layout, location, index, binding, max_array_access, atomic Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
33ee2c67c0a4e8f2fefbf37dacabd14918060af5 |
|
12-Dec-2013 |
Tapani Pälli <tapani.palli@intel.com> |
glsl: move variables in to ir_variable::data, part I This patch moves following bitfields in to the data structure: used, assigned, how_declared, mode, interpolation, origin_upper_left, pixel_center_integer Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
088494aa032bf32db8b67f1fb07e5797603a473d |
|
29-Nov-2013 |
Paul Berry <stereotype441@gmail.com> |
glsl/loops: Get rid of lower_bounded_loops and ir_loop::normative_bound. Now that loop_controls no longer creates normatively bound loops, there is no need for ir_loop::normative_bound or the lower_bounded_loops pass. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e00b93a1f7b4bc7f5e887591c000524e13f80826 |
|
28-Nov-2013 |
Paul Berry <stereotype441@gmail.com> |
glsl/loops: replace loop controls with a normative bound. This patch replaces the ir_loop fields "from", "to", "increment", "counter", and "cmp" with a single integer ("normative_bound") that serves the same purpose. I've used the name "normative_bound" to emphasize the fact that the back-end is required to emit code to prevent the loop from running more than normative_bound times. (By contrast, an "informative" bound would be a bound that is informational only). Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2c17f97fe6a40e4a963fb4eec0ea0555f562b1be |
|
28-Nov-2013 |
Paul Berry <stereotype441@gmail.com> |
glsl/loops: consolidate bounded loop handling into a lowering pass. Previously, all of the back-ends (ir_to_mesa, st_glsl_to_tgsi, and the i965 fs and vec4 visitors) had nearly identical logic for handling bounded loops. This replaces the duplicate logic with an equivalent lowering pass that is used by all the back-ends. Note: on i965, there is a slight increase in instruction count. For example, a loop like this: for (int i = 0; i < 100; i++) { total += i; } would previously compile down to this (vec4) native code: mov(8) g4<1>.xD 0D mov(8) g8<1>.xD 0D loop: cmp.ge.f0(8) null g8<4;4,1>.xD 100D (+f0) break(8) add(8) g5<1>.xD g5<4;4,1>.xD g4<4;4,1>.xD add(8) g8<1>.xD g8<4;4,1>.xD 1D add(8) g4<1>.xD g4<4;4,1>.xD 1D while(8) loop After this patch, the "(+f0) break(8)" turns into: (+f0) if(8) break(8) endif(8) because the back-end isn't smart enough to recognize that "if (condition) break;" can be done using a conditional break instruction. However, it should be relatively easy for a future peephole optimization to properly optimize this. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
aad2511c6d082aecfe8da0c3e61e2e678c84f7dd |
|
21-Nov-2013 |
Brian Paul <brianp@vmware.com> |
st/mesa: simplify writemask for emitting fog result Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2d5f21ba650cb85ffea0ed6f41ee0d1e6fe5a29a |
|
20-Nov-2013 |
José Fonseca <jfonseca@vmware.com> |
gallium: Make TGSI_SEMANTIC_FOG register four-component wide. D3D9 Shader Model 2 restricted the fog register to one component, http://msdn.microsoft.com/en-us/library/windows/desktop/bb172945.aspx , but that restriction no longer exists in Shader Model 3, and several WHCK tests enforce that. So this change: - lifts the single-component restriction TGSI_SEMANTIC_FOG from Gallium interface - updates the Mesa state tracker to enforce output fog has (f, 0, 0, 1) - draw module was updated to leave TGSI_SEMANTIC_FOG output registers alone Several gallium drivers that are going out of their way to clear TGSI_SEMANTIC_FOG components could be simplified in the future. Thanks to Si Chen and Michal Krol for identifying the problem. Testing done: piglit fogcoord-*.vpfp tests Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bb1f0969756fbb827c4b2520c632daa15342b064 |
|
13-Nov-2013 |
Eric Anholt <eric@anholt.net> |
mesa: Remove PROGRAM_ENV_PARAM enum. This has been replaced with referring to env parameters using PROGRAM_STATE_VAR and _mesa_load_state_parameters. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
33b0455211019988fe418cca5dfac62c7902c861 |
|
13-Nov-2013 |
Eric Anholt <eric@anholt.net> |
mesa: Remove PROGRAM_LOCAL_PARAM enum. This has been replaced with referring to local parameters using PROGRAM_STATE_VAR and _mesa_load_state_parameters. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
26db3b933f7fbc81d6c2bead2a8b0479a3691424 |
|
20-Oct-2013 |
Francisco Jerez <currojerez@riseup.net> |
glsl: Add new atomic_uint built-in GLSL type. v2: Fix GLSL version in which the type became available. Add contains_atomic() convenience method. Split off atomic counter comparison error checking to a separate patch that will handle all opaque types. Include new ir_variable fields for atomic types. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9bfa475684fb20afacce01fa02b1a39bc3f23bdc |
|
15-Feb-2013 |
Bryan Cain <bryancain3@gmail.com> |
st/mesa, glsl_to_tgsi: add support for geometry shaders v2 (Bryan Cain <bryancain3@gmail.com>): fix 2D array indexing order. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
06e41a02a3564b00404dd3dd5d6f6b5897df36e9 |
|
18-Sep-2013 |
Matt Turner <mattst88@gmail.com> |
glsl: Implement [iu]mulExtended() built-ins for ARB_gpu_shader5. These built-ins have two "out" parameters, which makes implementing them efficiently with our current compiler infrastructure difficult. Instead, implement them in terms of the existing ir_binop_mul IR (to return the low 32-bits) and a new ir_binop_mul64 which returns the high 32-bits. v2: Rename mul64 -> imul_high as suggested by Ken. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
499d7a7f6e47403a4a3da448eddaf15bdf56395c |
|
19-Sep-2013 |
Matt Turner <mattst88@gmail.com> |
glsl: Add ir_binop_carry and ir_binop_borrow. Calculates the carry out of the addition of two values and the borrow from subtraction respectively. Will be used in uaddCarry() and usubBorrow() built-in implementations. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e58dd465f07b36fb68758a22fbd77c4bee3a2a7d |
|
07-Oct-2013 |
Brian Paul <brianp@vmware.com> |
st/mesa: silence warning about unhandled ir_query_levels in switch
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bde5b626c29464426eac29a5b750ea9a49273f56 |
|
03-Oct-2013 |
Brian Paul <brianp@vmware.com> |
st/mesa: silence warning about unhandled enum in switch statement
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
fcbbecb9bc5c2b46913d5d3ec809be396addb1e8 |
|
30-Sep-2013 |
Francisco Jerez <currojerez@riseup.net> |
st/mesa: Switch glsl_to_tgsi_instruction to the non-zeroing allocator. All member variables of glsl_to_tgsi_instruction are already being initialized from its implicitly defined constructor, it's not necessary to use rzalloc to allocate its memory. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0e72db9f9729b8fe62213452751fed1cd337a7bc |
|
11-Sep-2013 |
Francisco Jerez <currojerez@riseup.net> |
mesa: Fix misplaced includes of "main/uniforms.h". Several C++ source files include "main/uniforms.h" from an extern "C" block, which is both unnecessary, because "uniforms.h" already checks for a C++ compiler and sets the right linkage, and incorrect, because the header file includes other C++ headers ("glsl_types.h" and "ir_uniform.h") that are supposed to get C++ linkage. Reviewed-by: Paul Berry <stereotype441@gmail.com> Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2bda5f3298154bab027aab6d4162b687ccdb36bd |
|
23-Sep-2013 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: fix GLSL mix(.., .., bvecN) v2: use CMP on drivers without native integer support
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4f1ebb8ddd0294698601a8c4fc38f1e39bfd51f6 |
|
18-Sep-2013 |
Kenneth Graunke <kenneth@whitecape.org> |
i965, mesa: Use the new DECLARE_R[Z]ALLOC_CXX_OPERATORS macros. These classes declared a placement new operator, but didn't declare a delete operator. Switching to the macro gives them a delete operator, which probably is a good idea anyway. This also eliminates a lot of boilerplate. v2: Properly use RZALLOC in Mesa IR/TGSI translators. Caught by Eric and Chad. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b2ab840130677bbe7b67de4727fcd91ee6506bb8 |
|
22-Aug-2013 |
Matt Turner <mattst88@gmail.com> |
glsl: Add support for ldexp. v2: Drop frexp. Rebase on builtins rewrite. Reviewed-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7aaa38728f93bfb69573e0d866f24e8cb41836f0 |
|
19-Aug-2013 |
Matt Turner <mattst88@gmail.com> |
glsl: Add conditional-select IR. It's a ?: that operates per-component on vectors. Will be used in upcoming lowering pass for ldexp and the implementation of frexp. csel(selector, a, b): per-component result = selector ? a : b Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3e820e3aef382fed73b6b8128596424ed7690951 |
|
31-Aug-2013 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Pass _mesa_glsl_parse_state into matching_signature and such. During compilation, we'll use this to determine built-in availability. The plan is to have a single shader containing every built-in in every version of the language, but filter out the ones that aren't actually available to the shader being compiled. At link time, we don't actually need this filtering capability: we've already imported prototypes for every built-in that the shader actually calls, and they're flagged as is_builtin(). The linker doesn't import any additional prototypes, so it won't pull in any unavailable built-ins. When resolving prototypes to function definitions, the linker ensures the values of is_builtin() match, which means that a shader can't trick the linker into importing the body of an unavailable built-in by defining a suspiciously similar prototype. In other words, during linking, we can just pass in NULL. It will work out fine. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d55c543c3637fec784518f34b1f12e7a73be2281 |
|
24-Apr-2013 |
Matt Turner <mattst88@gmail.com> |
glsl: Add support for new fma built-in in ARB_gpu_shader5. v2: Add constant folding support. Reviewed-by: Paul Berry <stereotype441@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7ae9cc71f097af5ae1f83f77f75de2198849faca |
|
15-Aug-2013 |
Roland Scheidegger <sroland@vmware.com> |
st/mesa: use new float comparison opcodes if native integers are supported Should get rid of some float-to-int conversions (with negation). No piglit regressions (with llvmpipe). v2: fix bogus formatting spotted by Brian. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ae6eba3e32a142665d2ae6e15c9122d3201c0b5d |
|
15-Feb-2013 |
Bryan Cain <bryancain3@gmail.com> |
glsl: add ir_emit_vertex and ir_end_primitive instruction types These correspond to the EmitVertex and EndPrimitive functions in GLSL. v2 (Paul Berry <stereotype441@gmail.com>): Add stub implementations of new pure visitor functions to i965's vec4_visitor and fs_visitor classes. v3 (Paul Berry <stereotype441@gmail.com>): Rename classes to be more consistent with the names used in the GL spec. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
906eff09e374c75b0486011b73b7048f6070456e |
|
31-Jul-2013 |
Paul Berry <stereotype441@gmail.com> |
glsl: Change do_set_program_inouts' is_fragment_shader arg to shader_type. This will allow us to add geometry shader support without having to add another boolean argument. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
369c8291523682dda5df5a64aded89ff696370f2 |
|
30-Jul-2013 |
Marek Olšák <marek.olsak@amd.com> |
st/mesa: fix opcode translation for ARB_shader_bit_encoding functions We treat the opcodes as MOVs, but we should at least change the type of the expression, which later affects which TGSI opcode is chosen. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
46205ab8cc03cbda6bbc0c958e277f972973ebfe |
|
12-Jul-2013 |
Brian Paul <brianp@vmware.com> |
tgsi: rename the TGSI fragment kill opcodes TGSI_OPCODE_KIL and KILP had confusing names. The former was conditional kill (if any src component < 0). The later was unconditional kill. At one time KILP was supposed to work with NV-style condition codes/predicates but we never had that in TGSI. This patch renames both opcodes: TGSI_OPCODE_KIL -> KILL_IF (kill if src.xyzw < 0) TGSI_OPCODE_KILP -> KILL (unconditional kill) Note: I didn't just transpose the opcode names to help ensure that I didn't miss updating any code anywhere. I believe I've updated all the relevant code and comments but I'm not 100% sure that some drivers had this right in the first place. For example, the radeon driver might have llvm.AMDGPU.kill and llvm.AMDGPU.kilp mixed up. Driver authors should review their code. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f501baabdb5cd356faad0e419c64b2ac312c5756 |
|
12-Jul-2013 |
Brian Paul <brianp@vmware.com> |
tgsi: fix-up KILP comments KILP is really unconditional fragment kill. We've had KIL and KILP transposed forever. I'll fix that next. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
030ca230e25192307336cb39f1ee414d0392b620 |
|
12-Jun-2013 |
Marek Olšák <maraeo@gmail.com> |
mesa: renumber shader indices according to their placement in pipeline See my explanation in mtypes.h. v2: don't do this in gallium v3: also updated the comment at the gl_shader_type definition Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
faf3dbad0d30ed36ae6010a90ca2513edb591148 |
|
13-Jun-2013 |
Eric Anholt <eric@anholt.net> |
mesa: Use shared code for converting shader targets to short strings. We were duplicating this code all over the place, and they all would need updating for the next set of shader targets. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
426ca34b7a2c3b9edfc0189daece8de3aff80627 |
|
13-Jun-2013 |
Eric Anholt <eric@anholt.net> |
glsl: Remove ir_print_visitor.h includes and usage We have ir->print() to do the old declaration of a visitor and having the IR accept the visitor (yuck!). And now you can call _mesa_print_ir() safely anywhere that you know what an ir_instruction is. A couple of missing printf("\n")s are added in error paths -- when an expression is handed to the visitor, it doesn't print '\n' (since it might be a step in printing a whole expression tree). Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5097f358419c067a71e96e39764b3bb0a716bdbb |
|
10-Jun-2013 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl: Add a gl_shader_program parameter to _mesa_uniform_{merge,split}_location_offset This will be used in the next commit. NOTE: This is a candidate for stable release branches. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-and-tested-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
db4580cbdf66c587867130cb7b2e630ea247971e |
|
23-May-2013 |
Brian Paul <brianp@vmware.com> |
st/mesa: add switch cases for new IR enums to silence warnings
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0346e9b3bb24cf79c182a86fd8445251dfaa64ca |
|
09-May-2013 |
Roland Scheidegger <sroland@vmware.com> |
st/mesa: fix weird UCMP opcode use for bool ubo load I don't know what this code was trying to do but whatever it was it couldn't have worked since negation of integer boolean inputs while not specified as outright illegal (not yet at least) won't do anything since it doesn't affect the result of comparison with zero at all. In fact it looks like the whole instruction can just be omitted. Reviewed-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ee7a6dad302ff5568566e325df56fd582be1afec |
|
18-Mar-2013 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl: Add lowering pass for ir_triop_vector_insert This will eventually replace do_vec_index_to_cond_assign. This lowering pass is called in all the places where do_vec_index_to_cond_assign or do_vec_index_to_swizzle is called. v2: Use WRITEMASK_* instead of integer literals. Use a more concise method of generating broadcast_index. Both suggested by Eric. v3: Use a series of scalar compares instead of a single vector compare. Suggested by Eric and Ken. It still uses 'if (cond) v.x = y;' instead of conditional assignments because ir_builder doesn't do conditional assignments, and I'd rather keep the code simple. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b765740a66821c4e97816a938c94740717661ba3 |
|
18-Apr-2013 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Pass struct shader_compiler_options into do_common_optimization. do_common_optimization may need to make choices about whether to emit certain kinds of instructions. gl_context::ShaderCompilerOptions contains exactly that information, so it makes sense to pass it in. Rather than passing the whole array, pass the structure for the stage that's currently being worked on. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5e78433eec94fcaa87bdcb2526ec0910a69ed347 |
|
02-May-2013 |
Marek Olšák <maraeo@gmail.com> |
mesa: move max texture image unit constants to gl_program_constants Const.MaxTextureImageUnits -> Const.FragmentProgram.MaxTextureImageUnits Const.MaxVertexTextureImageUnits -> Const.VertexProgram.MaxTextureImageUnits etc. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e1ff753d67a355ad20443173b99613a1198331c1 |
|
20-Apr-2013 |
Fabian Bieler <fabianbieler@fastmail.fm> |
mesa/st: Don't copy propagate from swizzles. Do not propagate a copy if source and destination are identical. Otherwise code like MOV TEMP[0].xyzw, TEMP[0].wzyx MOV TEMP[1].xyzw, TEMP[0].xyzw is changed to MOV TEMP[0].xyzw, TEMP[0].wzyx MOV TEMP[1].xyzw, TEMP[0].wzyx This fixes Piglit test shaders/glsl-copy-propagation-self-2 for gallium drivers. NOTE: This is a candidate for the stable branches. Signed-off-by: Fabian Bieler <fabianbieler@fastmail.fm> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
dafd050883660a42b2902388826cfecbfc9b8b83 |
|
10-Apr-2013 |
Matt Turner <mattst88@gmail.com> |
glsl: Add a pass to lower bitfield-insert into bfm+bfi. i965/Gen7+ and Radeon/Evergreen+ have bfm/bfi instructions to implement bitfieldInsert() from ARB_gpu_shader5. v2: Add ir_binop_bfm and ir_triop_bfi to st_glsl_to_tgsi.cpp. Remove spurious temporary assignment and dereference. Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
499d8c65457620c4879f6da302f0a9859ceaa2ee |
|
10-Apr-2013 |
Matt Turner <mattst88@gmail.com> |
glsl: Add support for new bit built-ins in ARB_gpu_shader5. v2: Move use of ir_binop_bfm and ir_triop_bfi to a later patch. Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
50b3fc6204a28881f625605f988cb0866ae6a6a5 |
|
17-Apr-2013 |
José Fonseca <jfonseca@vmware.com> |
gallium: Disambiguate TGSI_OPCODE_IF. TGSI_OPCODE_IF condition had two possible interpretations: - src.x != 0.0f - Mesa statetracker when PIPE_SHADER_CAP_INTEGERS was false either for vertex and fragment shaders - gallivm/llvmpipe - postprocess - vl state tracker - vega state tracker - most old drivers - old internal state trackers - many graw examples - src.x != 0U - Mesa statetracker when PIPE_SHADER_CAP_INTEGERS was true for both vertex and fragment shaders - tgsi_exec/softpipe - r600 - radeonsi - nv50 And drivers that use draw module also were a mess (because Mesa would emit float IFs, but draw module supports native integers so it would interpret IF arg as integers...) This sort of works if the source argument is limited to float +0.0f or +1.0f, integer 0, but would fail if source is float -0.0f, or integer in the float NaN range. It could also fail if source is integer 1, and hardware flushes denormalized numbers to zero. But with this change there are now two opcodes, IF and UIF, with clear meaning. Drivers that do not support native integers do not need to worry about UIF. However, for backwards compatibility with old state trackers and examples, it is advisable that native integer capable drivers also support the float IF opcode. I tried to implement this for r600 and radeonsi based on the surrounding code. I couldn't do this for nouveau, so I just shunted IF/UIF together, which matches the current behavior. Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Marek Olšák <maraeo@gmail.com> v2: - Incorporate Roland's feedback. - Fix r600_shader.c merge conflict. - Fix typo in radeon, spotted by Michel Dänzer. - Incorporte Christoph Bumiller's patch to handle TGSI_OPCODE_IF(float) properly in nv50/ir.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f152da6bf990c330108da25972f28e08b2f233aa |
|
03-Mar-2013 |
Dave Airlie <airlied@redhat.com> |
st/mesa: add support for ARB_texture_multisample (v3) This adds support to the mesa state tracker for ARB_texture_multisample. hardware doesn't seem to use a different texture instructions, so I don't think we need to create one for TGSI at this time. Thanks to Marek for fixes to sample number picking. v2: idr pointed out a bug in how we picked the max sample counts, use new internal format chooser interface to pick proper answers. v3: use st_choose_format directly, it was okay, fix anding of masks. Reviewed-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c34bbe110d1e562b1594a9a4f2e83a2ab5630036 |
|
30-Mar-2013 |
Brian Paul <brianp@vmware.com> |
st/mesa: add ir_lod case in GLSL->TGSI code to silence warning
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0f001fbff1d8c982a4c606d9fbe93619d64a5acc |
|
24-Mar-2013 |
Christian König <christian.koenig@amd.com> |
glsl_to_tgsi: avoid creating arrays if driver doesn't support them Avoid creating arrays if we replace indirect addressing anyway. Signed-off-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
462de2e65ff084f5f0b8baa75445ced60ddc517a |
|
25-Mar-2013 |
Christian König <christian.koenig@amd.com> |
glsl_to_tgsi: make simplify_cmp work with arrays Even when we have arrays it is possible for simplify_cmp to work on temps, just not on arrays. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=62696 Signed-off-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
affdff230b8207a4344cebbdc0acf0fbf67c8fa3 |
|
10-Mar-2013 |
Christian König <christian.koenig@amd.com> |
glsl_to_tgsi: remove indirect addressing limitations They shouldn't be necessary any more. Signed-off-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3f67251e3d0ce61a0e7fc16de91de6fb49cad768 |
|
10-Mar-2013 |
Christian König <christian.koenig@amd.com> |
glsl_to_tgsi: allocate arrays separately v2 Instead of allocating everything as temporaries, use the new array allocation functions. v2: fix bug in simplify_cmp, declare arrays on demand Signed-off-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
433b2ca46be2e9bb2f8e787efd6e040b57b998c4 |
|
08-Mar-2013 |
Christian König <christian.koenig@amd.com> |
glsl_to_tgsi: use get_temp for all allocations Signed-off-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
eed6baf7621fa94e7888f8079b155fc67a08540c |
|
23-Feb-2013 |
Paul Berry <stereotype441@gmail.com> |
Replace gl_frag_attrib enum with gl_varying_slot. This patch makes the following search-and-replace changes: gl_frag_attrib -> gl_varying_slot FRAG_ATTRIB_* -> VARYING_SLOT_* FRAG_BIT_* -> VARYING_BIT_* Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Tested-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a6d807c86f9972335048ad21c33277385eec08e8 |
|
23-Feb-2013 |
Paul Berry <stereotype441@gmail.com> |
Replace gl_geom_result enum with gl_varying_slot. This patch makes the following search-and-replace changes: gl_geom_result -> gl_varying_slot GEOM_RESULT_* -> VARYING_SLOT_* Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Tested-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
36b252e94724b2512ea941eff2b3a3abeb80be79 |
|
23-Feb-2013 |
Paul Berry <stereotype441@gmail.com> |
Replace gl_vert_result enum with gl_varying_slot. This patch makes the following search-and-replace changes: gl_vert_result -> gl_varying_slot VERT_RESULT_* -> VARYING_SLOT_* Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Tested-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
be6d18ba5e90422fc794ef644eb235e138604d12 |
|
05-Mar-2013 |
Roland Scheidegger <sroland@vmware.com> |
st/mesa: translate ir offset parameters for non-TXF opcodes. Otherwise the state tracker will crash if the texture instructions have offsets. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0b6e72f8d75a31ef233ad5be0c9f59497880657f |
|
02-Mar-2013 |
Brian Paul <brianp@vmware.com> |
st/mesa: add switch case for ir_txf_ms to silence warning Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f6c061261885fed0c83c437e9459ba79618f1b3a |
|
01-Mar-2013 |
Brian Paul <brianp@vmware.com> |
st/mesa: convert ir_triop_lrp to TGSI_OPCODE_LRP AFAICT, all gallium drivers implement TGSI_OPCODE_LRP. Tested with softpipe, llvmpipe, svga drivers. Reviewed-by: Matt Turner <mattst88@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
93066ce1299a7be8f670e527f249940c635605b4 |
|
02-Dec-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Convert mix() to use a new ir_triop_lrp opcode. Many GPUs have an instruction to do linear interpolation which is more efficient than simply performing the algebra necessary (two multiplies, an add, and a subtract). Pattern matching or peepholing this is more desirable, but can be tricky. By using an opcode, we can at least make shaders which use the mix() built-in get the more efficient behavior. Currently, all consumers lower ir_triop_lrp. Subsequent patches will actually generate different code. v2 [mattst88]: - Add LRP_TO_ARITH flag to ir_to_mesa.cpp. Will be removed in a subsequent patch and ir_triop_lrp translated directly. v3 [mattst88]: - Move changes from the next patch to opt_algebraic.cpp to accept 3-src operations. Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4362bdadf3069ed3f8e7c9bfccbc649d320dbd76 |
|
31-Jan-2013 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: emit saturates in the vertex shader if Shader Model 3.0 is supported v2: change the requirement from GLSL 1.30 to SM 3.0 (R500 can do this)
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
48689ca14a0a28aa03a54b5fa57ecca67d2da051 |
|
31-Jan-2013 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: advertise ARB_shading_language_packing for GLSL >= 1.30 Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
afd4178fecc5d027e499085d6a4279bf2f890789 |
|
31-Jan-2013 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: do most of GLSL lowering outside of the optimization do-while loop based on the intel driver Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7325f1faaade3637680898319e21512c2a6cca5e |
|
31-Jan-2013 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: remove dead code depending on EmitCondCodes EmitCondCodes is always false. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
805cf07dc3a3438abd81dde330daf382cc3a8844 |
|
01-Feb-2013 |
Brian Paul <brianp@vmware.com> |
st/mesa: emit SQRT opcode when driver supports it
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
50c4c818aa61ccc2c815ea722746dd1b12dd5624 |
|
25-Jan-2013 |
Brian Paul <brianp@vmware.com> |
st/mesa: handle new GLSL IR enumerants in switch statements To silence warnings about unhandled cases.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ecfb404e8d4fcd35524d1c4b3421e24980fe3976 |
|
11-Dec-2012 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl: Replace most default cases in switches on GLSL type This makes it easier to find switch-statements that need to be updated after a new GLSL_TYPE_* is added because the compiler will generate a warning. Switch-statements that only had a small number of cases (e.g., everything in ir_constant_expression.cpp) were not modified. I may regret that decision when we eventually add support for doubles. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Carl Worth <cworth@cworth.org> Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
42a29d89fd85c86387f0d119950e243b6de76d79 |
|
11-Jan-2013 |
Paul Berry <stereotype441@gmail.com> |
glsl: Eliminate ambiguity between function ins/outs and shader ins/outs This patch replaces the three ir_variable_mode enums: - ir_var_in - ir_var_out - ir_var_inout with the following five: - ir_var_shader_in - ir_var_shader_out - ir_var_function_in - ir_var_function_out - ir_var_function_inout This eliminates a frustrating ambiguity: it used to be impossible to tell whether an ir_var_{in,out} variable was a shader in/out or a function in/out without seeing where the variable was declared in the IR. This complicated some optimization and lowering passes, and would have become a problem for implementing varying structs. In the lisp-style serialization of GLSL IR to strings performed by ir_print_visitor.cpp and ir_reader.cpp, I've retained the names "in", "out", and "inout" for function parameters, to avoid introducing code churn to the src/glsl/builtins/ir/ directory. Note: a couple of comments in the code seemed to indicate that we were planning for a possible future in which geometry shaders could have shader-scope inout variables. Our GLSL grammar rejects shader-scope inout variables, and I've been unable to find any evidence in the GLSL standards documents (or extensions) that this will ever be allowed, so I've eliminated these comments. Reviewed-by: Carl Worth <cworth@cworth.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5cdcd7251a213a448f2bfaf0e7527213c8afa3f5 |
|
10-Dec-2012 |
Dave Airlie <airlied@gmail.com> |
glsl_to_tgsi: emit multi-level structs and arrays properly. This follow the code from the i965 driver, and emits the structs and arrays recursively. This fixes an assert in the two UBO tests fs-struct-copy-complicated and vs-struct-copy-complicated These tests now pass on softpipe, with no regressions. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
17f5dc57306b8f5079304701e455bf4b927d3cae |
|
10-Dec-2012 |
Dave Airlie <airlied@gmail.com> |
st_glsl_to_tgsi: fix ubo bools. This should fix the ubo boolean tests, along with the previous ubo loading fix. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7a66c8acd382414a73c2db0ffdc9d95b980f770d |
|
10-Dec-2012 |
Dave Airlie <airlied@gmail.com> |
st_glsl_to_tgsi: call ubo load pass earlier This calls it in around the same place as the 965 driver. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
af2d9affb19e34e8de08420cee83aeb3da02d4be |
|
09-Dec-2012 |
Dave Airlie <airlied@gmail.com> |
glsl_to_tgsi: fix texture offset translation I noticed the texelFetch offset test failed on 2D rect samplers with GLSL 1.40. This is because I wrote the immediate->offset translation wrong. Fixed the translation to actually use the ureg info to set the offsets up. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
73ae865af8794c053812cbb5fe9532b1b6113515 |
|
06-Dec-2012 |
Dave Airlie <airlied@redhat.com> |
mesa/st: add ARB_uniform_buffer_object support (v2) this adds UBO support to the state tracker, it works with softpipe as-is. It uses UARL + CONST[x][ADDR[0].x] type constructs. v2: don't disable UBOs if geom shaders don't exist (me) rename upload to bind (calim) fix 12 -> 13 comparison as comment (calim + brianp) fix signed->unsigned (Brian) remove assert (Brian) Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
915efe7f07a370827be9872fbf93cf9fc304ba24 |
|
06-Dec-2012 |
Dave Airlie <airlied@redhat.com> |
st/mesa: add texture buffer object support to state tracker (v1.1) This adds the necessary changes to the st to allow texture buffer object support if the driver advertises it. v1.1: remove extra blank line and whitespace Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8c0ccce30038f5d28e74f7f4b5b5c0bbd8ac6dbe |
|
03-Nov-2012 |
Dave Airlie <airlied@gmail.com> |
st/mesa: add support for ARB_texture_cube_map_array (v2) This adds mesa state tracker support for the new extension, along with glsl->tgsi conversion to use the new opcodes where appropriate. v2: fix assert found running textureSize tests. Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9785ae0973cc206afc36dbc7d5b9553f92d06b47 |
|
01-Sep-2012 |
Dave Airlie <airlied@gmail.com> |
glsl_to_tgsi: fix dst register for texturing fetches. I've no idea why there isn't a piglit that triggers this behaviour, but while enabling TBOs for softpipe and r600g, I noticed all the integer tests failed. I tracked it back to the TXF returning a float when it should be returning an int. This fixed it and I haven't seen any regressions in a full piglit run on softpipe. http://bugs.freedesktop.org/55010 NOTE: This is a candidate for the 9.0 branch. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
75f2ccf3a217ad4a6bc05f67592a8606117ba13b |
|
05-Nov-2012 |
Brian Paul <brianp@vmware.com> |
st/mesa: change glsl_to_tgsi_visitor from class to struct To match the declaration in the .h file and silence an MSVC warning. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
170f0459a2367406d4ec838b2eebdc6ff2f84f2c |
|
23-Oct-2012 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: set correct register type for array and structure elements This fixes an issue where glsl_to_tgsi_visior::get_opcode() would emit the wrong opcode because the register type was GLSL_TYPE_ARRAY/STRUCT instead of GLSL_TYPE_FLOAT/INT/UINT/BOOL, so the function would use the float opcodes for operations on integer or boolean values dereferenced from an array or structure. Assertions have been added to get_opcode() to prevent this bug from reappearing in the future. NOTE: This is a candidate for the stable branches. Reviewed-by: Brian Paul <brianp@vmware.com> Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
00e6819e9964458395c597b9b1745a913c5c889b |
|
29-Oct-2012 |
Andreas Boll <andreas.boll.dev@gmail.com> |
Revert "glsl_to_tgsi: set correct register type for array and structure elements" This reverts commit ebd8df7a3152e34805e2863c8471ee1a2de38fe1. accidentally pushed.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ebd8df7a3152e34805e2863c8471ee1a2de38fe1 |
|
23-Oct-2012 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: set correct register type for array and structure elements This fixes an issue where glsl_to_tgsi_visior::get_opcode() would emit the wrong opcode because the register type was GLSL_TYPE_ARRAY/STRUCT instead of GLSL_TYPE_FLOAT/INT/UINT/BOOL, so the function would use the float opcodes for operations on integer or boolean values dereferenced from an array or structure. Assertions have been added to get_opcode() to prevent this bug from reappearing in the future.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8d418d16165624a59b2049d4097b4ab0dc82ffa9 |
|
15-Oct-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
mesa: Remove support for named parameters. These were only part of NV_fragment_program, so we can kill them. The fact that PROGRAM_NAMED_PARAM appears in r200_vertprog.c is rather comedic, but also demonstrates that people just spam the various types of parameters everywhere because they're confusing. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
fe72a069d1fcce943f315907b4744b63158938b1 |
|
01-Sep-2012 |
Brian Paul <brianp@vmware.com> |
mesa: s/FREE/free/ v2: replace instances in dri/common/ dirs Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4fdac659f800da0aa4504489f627738c83c94d66 |
|
01-Sep-2012 |
Brian Paul <brianp@vmware.com> |
mesa: s/CALLOC/calloc/ v2: replace instances in dri/common/ dirs Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a8ed00d5f13d7b016bc2ea56f130adc3fa857cc8 |
|
16-Aug-2012 |
Brian Paul <brianp@vmware.com> |
st/mesa: silence signed/unsigned comparison warning
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8cc1860d4a55c93ce12a649c281012b37212ffbd |
|
12-Aug-2012 |
Niels Ole Salscheider <niels_ole@salscheider-online.de> |
st/mesa: index can be negative in the PROGRAM_CONSTANT case NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
34665381713249c29b7da5028396222dfea477c2 |
|
08-Aug-2012 |
Vinson Lee <vlee@freedesktop.org> |
st/mesa: Initialize tgsi_texture_offset Padding field. Fixes uninitialized scalar variable defect reported by Coverity. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2ea3ab14f2182978f471674c9dfce029d37f70a7 |
|
10-Jul-2012 |
Eric Anholt <eric@anholt.net> |
glsl: Add a "ubo_load" expression type for fetches from UBOs. Drivers will probably want to be able to take UBO references in a shader like: uniform ubo1 { float a; float b; float c; float d; } void main() { gl_FragColor = vec4(a, b, c, d); } and generate a single aligned vec4 load out of the UBO. For intel, this involves recognizing the shared offset of the aligned loads and CSEing them out. Obviously that involves breaking things down to loads from an offset from a particular UBO first. Thus, the driver doesn't want to see variable_ref(ir_variable("a")), and even more so does it not want to see array_ref(record_ref(variable_ref(ir_variable("a")), "field1"), variable_ref(ir_variable("i"))). where a.field1[i] is a row_major matrix. Instead, we're going to make a lowering pass to break UBO references down to expressions that are obvious to codegen, and amenable to merging through CSE. v2: Fix some partial thoughts in the ir_binop comment (review by Kenneth) Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7d65356d8a4d268dce4c933d7704d709e1cdacfa |
|
04-Aug-2012 |
Vinson Lee <vlee@freedesktop.org> |
st/mesa: Fix a potential memory leak in get_mesa_program. Fixes resource leak defect reported by Coverity. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
82fc813ca870c4002502e098519bead7bec1a7e8 |
|
23-Jul-2012 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: fix DDY opcode for FBOs This fixes piglit/fbo-deriv. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f40b5723f017bfb9e3819a5463184627ee727cc1 |
|
22-Jul-2012 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: set the centroid qualifier in fragment shader inputs This fixes some centroid tests in the EXT_framebuffer_multisample piglit group. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
abcdbdf9cce3c7520ee999fac3099d609960847d |
|
25-Jun-2012 |
Eric Anholt <eric@anholt.net> |
mesa: Move the _mesa_uniform_merge_location_offset to glGetUniformLocation(). With the upcoming GL_ARB_uniform_buffer_object changes, the only other caller that will want the cooked value is state_tracker. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0f1f2ff8db8c19be27b9f51f07134091e109e4b2 |
|
19-Jul-2012 |
Paul Berry <stereotype441@gmail.com> |
mesa: Set gl_fragment_program::UsesKill in do_set_program_inouts. Previously, the code for setting this flag for GLSL programs was duplicated in three places: brw_link_shader(), glsl_to_tgsi_visitor, and ir_to_mesa_visitor. In addition to the unnecessary duplication, there was a performance problem on i965: brw_link_shader() set the flag before doing its final round of optimizations, which meant that if the optimizations managed to eliminate all the discard operations, the flag would still be set, resulting (at least in theory) in slower performance. This patch consolidates all of the code that sets UsesKill for GLSL programs into do_set_program_inouts(), which already is doing a similar job for UsesDFdy, and which occurs after i965's final round of optimizations. Non-GLSL programs (ARB programs and the state tracker's glBitmap program) are unaffected. Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b3ba0a7afa6311e12852fb1373452e480f89ea96 |
|
12-Jul-2012 |
José Fonseca <jfonseca@vmware.com> |
mesa/st: Generates TGSI that always recognizes INSTANCEID/VERTEXID as integers. Tested by running piglit draw-instanced, and by forcing llvmpipe advertise no native integer support, which now produces: VERT DCL IN[0] DCL SV[0], INSTANCEID DCL OUT[0], POSITION DCL OUT[1], COLOR DCL CONST[0..19] DCL TEMP[0], LOCAL DCL TEMP[1], LOCAL DCL TEMP[2], LOCAL DCL ADDR[0] 0: U2F TEMP[0].x, SV[0] 1: ARL ADDR[0].x, TEMP[0].xxxx 2: MOV TEMP[1].xy, CONST[ADDR[0].x+8].xyxx 3: ADD TEMP[2].x, IN[0].xxxx, TEMP[1].xxxx 4: ADD TEMP[1].x, IN[0].yyyy, TEMP[1].yyyy 5: MUL TEMP[2], CONST[16], TEMP[2].xxxx 6: MAD TEMP[2], CONST[17], TEMP[1].xxxx, TEMP[2] 7: MAD TEMP[2], CONST[18], IN[0].zzzz, TEMP[2] 8: MAD TEMP[2], CONST[19], IN[0].wwww, TEMP[2] 9: ARL ADDR[0].x, TEMP[0].xxxx 10: MOV TEMP[1], CONST[ADDR[0].x] 11: MOV OUT[0], TEMP[2] 12: MOV OUT[1], TEMP[1] 13: END
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7e63b613a5a067462c450338e0bdce5b5976f6f1 |
|
16-Jun-2012 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
st/mesa: fix transform feedback of unsubscripted gl_ClipDistance array gl_ClipDistance needs special treatment in form of lowering pass which transforms gl_ClipDistance representation from float[] to vec4[]. There are 2 implementations - at glsl linker level (enabled by LowerClipDistance option) and at glsl_to_tgsi level (enabled unconditionally for gallium drivers). Second implementation is incomplete - it does not take into account transform feedback (see commit 642e5b413e0890b2070ba78fde42db381eaf02e5 "mesa: Fix transform feedback of unsubscripted gl_ClipDistance array" for details). There are 2 possible fixes: - adding transform feedback support into glsl_to_tgsi version - ripping gl_ClipDistance support from glsl_to_tgsi and enabling gl_ClipDistance lowering on glsl linker side This patch implements 2nd option. All it does is: - reverts most of the commit 59be691638200797583bce39a83f641d30d97492 "st/mesa: add support for gl_ClipDistance" - changes LowerClipDistance to true Fixes Piglit tests "EXT_transform_feedback/builtin-varyings gl_ClipDistance[{2,3,4,5,6,7,8}]-no-subscript" at least on nv50 and evergreen cards.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1be766111005e483d56ac194c224123e72ce9831 |
|
14-Jun-2012 |
Paul Berry <stereotype441@gmail.com> |
gallium: Add support for ir_unop_f2u to tgsi backend. Reviewed-by: José Fonseca <jfonseca@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e16b0a51be7866f3856b62b295df2bcf49e02384 |
|
08-May-2012 |
Olivier Galibert <galibert@pobox.com> |
glsl: Bitwise conversion operator support in the software renderers. TGSI doesn't need an opcode, since registers are untyped (but beware once doubles come into the scene). Mesa IR doesn't handle native integers, so trying to handle them there is worthless, the case entries are only added for warning reasons. It was only tested with softpipe, since llvmpipe doesn't support glsl 1.3 yet. Signed-off-by: Olivier Galibert <galibert@pobox.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
105f307d90de92d088116516957e37267d9fe115 |
|
19-Apr-2012 |
Vinson Lee <vlee@freedesktop.org> |
st/mesa: Fix uninitialized members in glsl_to_tgsi_visitor constructor. Fix uninitialized scalar field defects reported by Coverity. Signed-off-by: Vinson Lee <vlee@freedesktop.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
49468a1b2a241d5a6a1155f79b48fa6562524206 |
|
08-Dec-2011 |
Francisco Jerez <currojerez@riseup.net> |
st/mesa: Use local temporary registers. Local makes more sense in most places because non-inline function calls are unimplemented anyway.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f7665ca4fc2a7bba8378d44d38059fc5dd536223 |
|
05-May-2012 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
glsl_to_tgsi: use TGSI_OPCODE_CEIL for ir_unop_ceil The implementation using FLR was buggy, the second negation could get lost.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a21df965075f6fa1bf27039490ad65b9f78548e6 |
|
24-Mar-2012 |
Dave Airlie <airlied@redhat.com> |
st/mesa: add ARB_blend_func_extended support to state tracker. This adds the blend mode mapping, it also uses the var->index in the glsl to tgsi convertor - this is the other half of my using 4 in the GLSL compiler. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
70d038e46eb877ffa922003c78630eb7eb76c0f3 |
|
09-Apr-2012 |
Vinson Lee <vlee@freedesktop.org> |
st/mesa: Fix uninitialized members in glsl_to_tgsi_visitor constructor. Fixes uninitialized member defects reported by Coverity. NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
82065fa20ee3f2880a070f1f4f75509b910cedde |
|
21-Sep-2011 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Remove ir_call::get_callee() and set_callee(). Previously, set_callee() performed some assertions about the type of the ir_call; protecting the bare pointer ensured these checks would be run. However, ir_call no longer has a type, so the getter and setter methods don't actually do anything useful. Remove them in favor of accessing callee directly, as is done with most other fields in our IR. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
04e324008759282728a95a1394bac2c4c2a1a3f9 |
|
23-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
gallium: remove PIPE_SHADER_CAP_OUTPUT_READ r600g is the only driver which has made use of it. The reason the CAP was added was to fix some piglit tests when the GLSL pass lower_output_reads didn't exist. However, not removing output reads breaks the fallback for glClampColorARB, which assumes outputs are not readable. The fix would be non-trivial and my personal preference is to remove the CAP, considering that reading outputs is uncommon and that we can now use lower_output_reads to fix the issue that the CAP was supposed to workaround in the first place.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
177845daa150403311e51e3bdc27e5014d40e915 |
|
27-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: kill off point size clamping in vertex shaders This fixes the gl_PointSize transform feedback test. Point size clamping should happen at the rasterizer stage, i.e. after the vertex and geometry shaders and transform feedback. Drivers are expected to do this by themselves.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1d01429c6a1ae679d0cc0cb61db1948fca5ced4c |
|
28-Jan-2012 |
Mathias Fröhlich <Mathias.Froehlich@gmx.net> |
state_stracker: Fix access to uninitialized memory. Fix an access to uninitialized memory pointed out by valgrind in glsl_to_tgsi_visitor::simplify_cmp(void). Note: This is a candidate for the 8.0 branch. Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bc1c8369384b5e16547c5bf9728aa78f8dfd66cc |
|
23-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: do vertex and fragment color clamping in shaders For ARB_color_buffer_float. Most hardware can't do it and st/mesa is the perfect place for a fallback. The exceptions are: - r500 (vertex clamp only) - nv50 (both) - nvc0 (both) - softpipe (both) We also have to take into account that r300 can do CLAMPED vertex colors only, while r600 can do UNCLAMPED vertex colors only. The difference can be expressed with the two new CAPs.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
fdae0eaf222f271bfbc7e71d8561eb8b90685ae5 |
|
19-Jan-2012 |
Brian Paul <brianp@vmware.com> |
st/mesa: copy num_immediates field when copying the immediates array Two assignments to num_immediates were missing in get_pixel_transfer_visitor() and get_bitmap_visitor(). The uninitialized value led to valgrind errors and crashes in some cases. Added new assertions to catch future problems in this area. Also changed num_immediates to unsigned to avoid signed/unsigned comparison warnings. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2449695e822421fdcaf1c66dffc12d7d705ea69d |
|
17-Dec-2011 |
Marek Olšák <maraeo@gmail.com> |
gallium: improve the pipe_stream_output_info struct (v2) There are 3 changes: 1) stride is specified for each buffer, not just one, so that drivers don't have to derive it from the outputs 2) new per-output property dst_offset, which specifies the offset into the buffer in dwords where the output should be stored, so that drivers don't have to compute the offsets manually; this will also be useful for gl_SkipComponents from ARB_transform_feedback3 3) register_mask is removed, instead, there is start_component and num_components; register_mask with non-consecutive 1s doesn't make much sense (some hardware cannot do packing of components) Christoph Bumiller: fixed nvc0. v2: resolve merge conflicts in Draw and clean it up
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9f2963b631cb2a2899fcb0eb384895fd33f9821d |
|
12-Jan-2012 |
Brian Paul <brianp@vmware.com> |
st/mesa: fix struct vs. class compilation warning glsl_to_tgsi_visitor is earlier defined as a class, not a struct. Fixes MSVC warning. NOTE: This is a candidate for the 8.0 branch.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6a992c3288b6f7a5d94172c9ad1908e71e58233e |
|
15-Nov-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
linker: Calculate the sampler to texture target mapping during linking Track the calculated data in gl_shader_program instead of the individual assembly shaders. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3f80b69b5f2093ffc624bb901ce34f0e289bc25d |
|
11-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
st/mesa: rename translate_texture_target, and make translate_opcode static. As suggested by Brian. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2f275466f78b7268e4f7ae8890eafd4243a2b8b0 |
|
11-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
glsl_to_tgsi: add support for shadow cube map sampling. This along with the TGSI support lets the piglit sampler-cube-shadow test pass on softpipe. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c62e02000d11e29e70a1000d32cb08d9a450485f |
|
05-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
st_extensions: fixup GLSL 1.30 related enables (v3) This just fixes up the enables for native integers and EXT_texture_integer support in st/mesa. It also set the MaxClipPlanes to 8. We should consider exposing caps for MCP vs MCD, but since core mesa doesn't care yet maybe we can wait for now. v2: use 32-bit formats as per Marek's mail. v3: add calim's fix for INT_DIV_TO_MUL_RCP disabling. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cc94f0541c7729bca95f21b879c2071722ca3017 |
|
09-Jan-2012 |
Dave Airlie <airlied@redhat.com> |
st_glsl_to_tgsi: use ISSG and fixup IABS It doesn't look like the GLSL compiler will produce sign op for an unsigned anyways (seems insane anyways). Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
73b26e4d12e5fa07bb96b4a30f41bd3b583776aa |
|
07-Jan-2012 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: emit IABS for absolute value of integers
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
673535f6071e512b18ac6da622e15bdc45ebf0a0 |
|
07-Jan-2012 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: fix emission of boolean constants We use 0xffffffff for true, but visit(ir_constant *) was emitting 1.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c4529d10bed098b8d3d694f2a333f9afabbabbf9 |
|
07-Jan-2012 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: remove bad assertion
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
938490c3fe8ccce6ca96a4fcba89ffc1bcded873 |
|
02-Jan-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl_to_tgsi: Remove the obsolete remove_output_reads pass. This is now handled by the GLSL compiler, so this code is dead. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
10937e651222501c0e9f4f44e6b842c261e2edfb |
|
02-Jan-2012 |
Vincent Lejeune <vljn@ovi.com> |
glsl_to_tgsi: Use the GLSL compiler's new remove-output-reads pass. The existing glsl_to_tgsi::remove_output_read pass did not work properly when indirect addressing was involved; this commit replaces it with a lowering pass that occurs before TGSI code generation. Fixes varying-array related piglit tests. Signed-off-by: Vincent Lejeune <vljn@ovi.com> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
367b83f890f6f7922bc8f9aa528ab50f55674e9e |
|
27-Dec-2011 |
Paul Berry <stereotype441@gmail.com> |
gallium: Make use of gl_transform_feedback_info::ComponentOffset. Reviewed-by: Marek Olšák <maraeo@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
59be691638200797583bce39a83f641d30d97492 |
|
02-Jan-2012 |
Bryan Cain <bryancain3@gmail.com> |
st/mesa: add support for gl_ClipDistance
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d4bf5cefb0943a196c603360187493e270a66442 |
|
22-Dec-2011 |
Vadim Girlin <vadimgirlin@gmail.com> |
glsl_to_tgsi: v2 Invalidate and revalidate uniform backing storage If glUniform1i and friends are going to dump data directly in driver-allocated, the pointers have to be updated when the storage moves. This should fix the regressions seen with commit 7199096. I'm not sure if this is the only place that needs this treatment. I'm a little uncertain about the various functions in st_glsl_to_tgsi that modify the TGSI IR and try to propagate changes about that up to the gl_program. That seems sketchy to me. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> v2: Revalidate when shader_program is not NULL. Update the pointers for all _LinkedShaders. Init glsl_to_tgsi_visitor::shader_program to NULL in the get_pixel_transfer_visitor & get_bitmap_visitor. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
fc7ac4da7dfb64aa192ef8cff44cb762beace4c1 |
|
02-Jan-2012 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
glsl-to-tgsi: handle ir_unop_round_even
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
09497e020a11cc893d06691751faf57c1e762839 |
|
02-Jan-2012 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: fix handling of CONT and BRK in eliminate_dead_code_advanced()
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3788b4b5c942b2346bf122486b687c632ab7eac4 |
|
10-Dec-2011 |
Dave Airlie <airlied@redhat.com> |
glsl_to_tgsi: make sure copied instructions don't lose texture target. (v2) The piglit draw-pixel-with-texture was asserting in the glsl->tgsi code, due to 0 texture target, this makes sure the texture target is copied over correctly when we copy instructions around. v2: drive-by fix bitmap on the way past. This avoids the assertion, have to contemplate fixing things as per the spec later. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c05fafa4a0fd93d4264c46578e23a83ecf2b481e |
|
09-Dec-2011 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: implement EXT_transform_feedback and ARB_transform_feedback2
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3b15f5046c36fb2d32a4c5f36e77b74efcb539b2 |
|
13-Dec-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: fix typo in comment
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
d24b44c37d51051ff153b4f04e529f2bea6630db |
|
13-Dec-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: emit both operands of shift and bitwise operations Fixes these operations when native integers are enabled.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
72cb103cf518c86d8d094380d9f8e16650a0060b |
|
10-Dec-2011 |
Dave Airlie <airlied@redhat.com> |
st/mesa: move frag depth up a level. This fixes the segfault, and seems to put this closer to where other properties are being set. Hopefully it still conforms. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
06f217d80f3d1318da4974bf7b31ea7edcf5eb0b |
|
18-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
gallium: implement ARB_conservative_depth This adds a new TGSI property to represent the GLSL layout qualifier in TGSI.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
20b0daf82de91fd57b7e8d825786789149f6358d |
|
08-Dec-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: fix a bug in eliminate_dead_code_advanced() The bug, reported to me by Vadim Girlin on IRC, was causing overzealous elimination of code in parallel if statements such as the following: if (x) { r = false; } if (y) { r = true; } Before this commit, the assignment inside the first if block would be misdetected as dead code and removed.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
dca6a28a14f22d77273d79d44f57b0d853c0242d |
|
31-Oct-2011 |
Mathias Fröhlich <Mathias.Froehlich@web.de> |
mesa: Make gl_program::InputsRead 64 bits. Make gl_program::InputsRead a 64 bits bitfield. Adapt the intel and radeon driver to handle a 64 bits InputsRead value. Signed-off-by: Mathias Froehlich <Mathias.Froehlich@web.de> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
915bcc29d415a506d30ad743cde7c98fcb512ba0 |
|
15-Nov-2011 |
Vadim Girlin <vadimgirlin@gmail.com> |
st/mesa: use PIPE_SHADER_CAP_OUTPUT_READ Don't replace outputs with temps when the driver supports reading outputs. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
ec174a424489664626796126f937fbce3e7d8cd8 |
|
18-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
mesa: set the gl_FragDepth layout in the GLSL linker Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
fa704cc558ab321792b364dab43f1e960513bed0 |
|
08-Nov-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl: Remove resource count checks from ir_to_mesa and st_glsl_to_tgsi These checks are now performed by the linker. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
da1544b39ebdf9b24414dcee214a5ccf76e74a77 |
|
11-Nov-2011 |
Christoph Bumiller <e0425955@student.tuwien.ac.at> |
st/mesa: fix system value to semantic mapping Broken by addition of SYSTEM_VALUE_VERTEX_ID in 919c53e87a1f6f5322bc1f1486bb3e6b954b00d5.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8f9fc8b9d208cf601d126721709315aa3c1c2024 |
|
14-Nov-2011 |
José Fonseca <jfonseca@vmware.com> |
mesa/st: Flush stdout after pritingin the GLSL. Otherwise it gets all garbled with stderr.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
be4524aeed7fb67bdc45861d299d4c5ca99c4d6c |
|
19-Oct-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
Delete code made dead by previous uniform related patches Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Tested-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
719909698c67c287a393d2380278e7b7495ae018 |
|
19-Oct-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: Rewrite the way uniforms are tracked and handled Switch all of the code in ir_to_mesa, st_glsl_to_tgsi, glUniform*, glGetUniform, glGetUniformLocation, and glGetActiveUniforms to use the gl_uniform_storage structures in the gl_shader_program. A couple of notes: * Like most rewrite-the-world patches, this should be reviewed by applying the patch and examining the modified functions. * This leaves a lot of dead code around in linker.cpp and uniform_query.cpp. This will be deleted in the next patches. v2: Update the comment block (previously a FINISHME) in _mesa_uniform about generating GL_INVALID_VALUE when an out-of-range sampler index is specified. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Tested-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
794c5158b0a0b2978ebae6fdc2747e6febcd42c1 |
|
04-Nov-2011 |
José Fonseca <jfonseca@vmware.com> |
mesa/st: Be nice with the stack -- use malloc for large structures/arrays. st_translate_program's data was taking 51K off the stack, causing stack overflow on Windows.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8cd0873d319cefce74164147c9855e81f051d1e1 |
|
22-Oct-2011 |
Chia-I Wu <olv@lunarg.com> |
st/mesa: add support for GL_OES_EGL_image_external To pipe drivers, external textures are just 2D textures. Reviewed-by: Brian Paul <brianp@vmware.com> Acked-by: Jakob Bornecrantz <jakob@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cf45949d6a896651a5f3864d3b195e26d59eee74 |
|
26-Oct-2011 |
Paul Berry <stereotype441@gmail.com> |
mesa: Expose GLSL interpolation qualifiers in gl_fragment_program. This patch makes GLSL interpolation qualifiers visible to drivers via the array InterpQualifier[] in gl_fragment_program, so that they can easily be used by driver back-ends to select the correct interpolation mode. Previous to this patch, the GLSL compiler was using the enum ir_variable_interpolation to represent interpolation types. Rather than make a duplicate enum in core mesa to represent the same thing, I moved the enum into mtypes.h and renamed it to be more consistent with the other enums defined there. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1d5d67f8adac9f94715de9804adb536d9a7ec5ee |
|
21-Oct-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl: Add uniform_locations_assigned parameter to do_dead_code opt pass Setting this flag prevents declarations of uniforms from being removed from the IR. Since the IR is directly used by several API functions that query uniforms in shaders, uniform declarations cannot be removed after the locations have been set. However, it should still be safe to reorder the declarations (this is not tested). Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41980 Tested-by: Brian Paul <brianp@vmware.com> Reviewed-by: Bryan Cain <bryancain3@gmail.com> Cc: Vinson Lee <vlee@vmware.com> Cc: José Fonseca <jfonseca@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
35ffe94a340cf4e0ebe810a1d576113f96ea9dee |
|
19-Oct-2011 |
José Fonseca <jfonseca@vmware.com> |
mesa/st: Backport WPOS adjustment fixes from st_mesa_to_tgsi.c to st_glsl_to_tgsi.cpp. This is a trivial verbatim copy of the code from Christoph Bumiller's commit f986a6560f3ee9a79b89e9409e3a9ac52b53315c. Fixes fdo 39939 and 39942.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
58a7461e1672935e7d30780a4dd40c00abbc28a5 |
|
11-Sep-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
glsl_to_tgsi: Use _mesa_generate_parameters_list_for_uniforms Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Bryan Cain <bryancain3@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bbbb8345ab9df2d634dc2a34d257ee2cbf930292 |
|
11-Sep-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
ir_to_mesa: Move some things outside the 'extern "C"' blocks Having a few of these includes or forward declarations inside the 'extern "C"' block can cause problems later. Specifically, it prevents C++ linkage functions from being added to ir_to_mesa.h and makes G++ angry if 'struct foo' is seen both inside and outside an 'extern "C"'. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a9e5528f09a835b66771ba4d3f08ff7fd51e08a6 |
|
13-Oct-2011 |
Brian Paul <brianp@vmware.com> |
st/mesa: kill instruction if writemask=0 in eliminate_dead_code_advanced() This fixes a bug where we'd wind up emitting an invalid instruction like MOVE R[0]., R[1]; - note the empty/zero writemask. If we don't write to any dest register channels, cull the instruction. v2: simply change/fix the existing test for instruction culling.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e2bdef53807d0f23c2a1ff326ea8190cb57aa90a |
|
21-Aug-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: Simplify calling Driver.ProgramStringNotify after previous refactors Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
de772c402215b956ab3aa0875330fc1bf7cdf95b |
|
21-Aug-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: Use gl_shader_program::_LinkedShaders instead of FragmentProgram Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
39348bf79fb247eec895c93e52f23afe138be46a |
|
20-Aug-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: Use gl_shader_program::_LinkedShaders instead of GeometryProgram Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
010cc547ca8c1fb2107106b0ad0de560780ce9aa |
|
20-Aug-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: Use gl_shader_program::_LinkedShaders instead of VertexProgram Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
35613afee3e038b70ada210b2dfbbc9abc883f4f |
|
19-Aug-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: Remove unused gl_program::Attributes Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
cd76f114e608ffb93a03ac3ffc3e11876d6a057e |
|
16-Aug-2011 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: Remove unused field gl_program::Varying Lots of things set and copy this field around, but nothing uses it. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6da8c21124152c68fb968b196895f2c881a24280 |
|
19-Sep-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: implement ir_binop_all_equal and ir_binop_any_nequal for native integers
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
10dbd029279dda1689410d8ef2bc5aba64dd5958 |
|
02-Sep-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: use UARL instead of I2F and ARL Since TGSI now has a UARL opcode that takes an integer as the source, it is no longer necessary to hack around the lack of an integer ARL opcode using I2F. UARL is only emitted when native integers are enabled; ARL is still used otherwise. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9edd0b5ddf406ef089edebd12999ff2a26774ca3 |
|
05-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
glsl_to_tgsi: fix shadow2DArray comparison v2: adjust the assertion, add a comment
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0dc575c6f6157867accf749a06ec745617ea64ac |
|
04-Sep-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: fixes for native integers and integer booleans This fixes all but one of the piglit regressions from enabling native integers in softpipe. The change to fix the last regression is still being discussed.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0a33ac5413d6217a30b70d4ec6e11389872616d0 |
|
30-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
glsl_to_tgsi: fix more potential shader reference leaks The last one has been pointed out by Ian.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
2083a276eb270b748d1c2668eb9faa5aadc8e700 |
|
26-Aug-2011 |
Dave Airlie <airlied@redhat.com> |
tgsi: add support for texture offsets to the TGSI IR. (v2) This adds tokens for texture offsets, to store 4 * swizzled vec 3 for use in TXF and other opcodes. It also contains TGSI exec changes for softpipe to use this code, along with GLSL->TGSI support for TXF. v2: add some more comments, add back padding I removed. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
488fe51cf823ccd137c667f1e92dd86f8323b723 |
|
01-Sep-2011 |
Bryan Cain <bryancain3@gmail.com> |
mesa: Replace the EmitNoIfs compiler flag with a MaxIfDepth flag. This is a better, more fine-grained way of lowering if statements. Fixes the game And Yet It Moves on nv50. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
478034f34a59969103237eb78bc82f9e70fe81c2 |
|
28-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl: Use a separate div_to_mul_rcp lowering flag for integers. Using multiply and reciprocal for integer division involves potentially lossy floating point conversions. This is okay for older GPUs that represent integers as floating point, but undesirable for GPUs with native integer division instructions. TGSI, for example, has UDIV/IDIV instructions for integer division, so it makes sense to handle this directly. Likewise for i965. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Bryan Cain <bryancain3@gmail.com> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b2064ff3115afa075021902ecd35f4a5a772dc9e |
|
25-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
glsl_to_tgsi: fix a reference leak on an error path
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c8fed01c732fa20e1ae035ed5f7b6156a5d6ffe9 |
|
24-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
glsl_to_tgsi: remove unused code
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5f3de17ef0f8b6280a6bf331ea6686a260f0d0d4 |
|
25-Aug-2011 |
Dave Airlie <airlied@redhat.com> |
glsl_to_tgsi: add TXF support. (v2) This adds texelFetch support to translate from GLSL to TGSI TXF opcode. I've tested this works with an r600g and softpipe backend. v2: drop comments, fix title, Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Bryan Cain <bryancain3@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
515d9e88801e2e1e2a7ac74ccd43f8fedfb80a96 |
|
24-Aug-2011 |
Dave Airlie <airlied@redhat.com> |
glsl_to_tgsi: implement TXS/TXQ. (v2) GLSL uses TXS, call the gallium TXQ opcode. v2: fix indent from 4->3. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Bryan Cain <bryancain3@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
79a486ead92e4493b2de1fedf0c8cb5de47003cd |
|
23-Aug-2011 |
Kai Wasserbäch <kai@dev.carbon-project.org> |
Change return type of try_emit_* methods to bool. Ian Romanick explained (Message-Id: <4E528973.6080902@freedesktop.org>), that the return type of non-API methods shouldn't use GLboolean but a standard C++ bool. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Bryan Cain <bryancain3@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1e3bcbdf31f09666ba358f35ff9486faee3642ca |
|
25-Feb-2011 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl: Add a new ir_txs (textureSize) opcode to ir_texture. One unique aspect of TXS is that it doesn't have a coordinate. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7a5d28908c03c5ce38da3f041d23bfd103a5becd |
|
22-Aug-2011 |
Kenneth Graunke <kenneth@whitecape.org> |
glsl_to_tgsi: Fix a few more struct vs. class warnings. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5379a70d3fabd9cf92a615647f81289d33ae9468 |
|
20-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: emit a MAD(b, -a, b) for !a && b This is a port of commit ff2cfb8989cd to glsl_to_tgsi.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c721d7b7bc70503d2ebb6c742be96371b68bd152 |
|
20-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: fix typo
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9098953ee6e0699e13e35183c817ecf40363d538 |
|
20-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: implement ir_binop_all_equal using DP4 w/SGE This is a port of commit ba01df11c4d0 to glsl_to_tgsi with integer support added.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f3dce133f0422c42ca61f07f488237107efc30e6 |
|
20-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: implement ir_binop_any_nequal using DP4 w/saturate or DP4 w/SLT Implement the any() part of the operation the same way regular ir_unop_any is implemented. This is a port of commit e7bf096e8b04 to glsl_to_tgsi, with added integer support.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a43f68810a347f3e952a0bc401be6edb91e1baea |
|
20-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: implement ir_unop_any using DP4 w/saturate or DP4 w/SLT This is a port of commit 92ca560d68e8 to glsl_to_tgsi, with integer support added.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c15eb5569bf76c5dc41327017b92a5d960207b97 |
|
18-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: make glsl_to_tgsi_visitor::emit_dp return the instruction
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
691cc0e3a8716a2cdb7271765cd7d4c7465066eb |
|
17-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: implement ir_binop_logic_or using an add w/saturate or add w/SLT Logical-or is implemented using addition (followed by clamping to [0,1]) on values of 0.0 and 1.0. Replacing the logical-or operators with addition gives a + b which has a result on the range [0, 2]. Previously a SNE instruction was used to clamp the resulting logic value to [0,1]. In a fragment shader, using a saturate on the add has the same effect. Adding the saturate to the add is free, so (at least) one instruction is saved. In a vertex shader, using an SLT on the negation of the add result has the same effect. Many older shader architectures do not support the SNE instruction. It must be emulated using two SLT instructions and an ADD. On these architectures, the single SLT saves two instructions. Note that SNE is still used when integers are used for boolean values, since there is no such thing as an integer saturate, and older shader architectures without SNE don't support integers. This is a port of commit 41f8ffe5e07c to glsl_to_tgsi with integer support added.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8c31bc704826d46cad65c4d65b4b70de7144205a |
|
17-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: implement ir_unop_logic_not using 1-x Since our logic values are 0.0 (false) and 1.0 (true), 1.0 - x accurately implements logical not. This is a port of commit 6ad08989d7c1 to glsl_to_tgsi.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
01d81dedc795005ed235856ce762bb1981655716 |
|
15-Aug-2011 |
Kenneth Graunke <kenneth@whitecape.org> |
mesa, glsl_to_tgsi: Add new gl_context::NativeIntegers flag. Previously, native integer support was based on whether the driver advertised GLSL 1.30 or not. However, drivers that natively support integers may wish to do so for older GLSL versions as well. Adding this new opt-in flag allows them to do so. Currently disabled by default on all drivers, which was the existing behavior (no drivers currently implement GLSL 1.30). Fixes piglit tests on i965 with INTEL_GLSL_VERSION=130 set: - spec/glsl-1.10/fs-uniform-int-110.shader_test - spec/glsl-1.30/fs-uniform-int-130.shader_test (it was doubly converting the data) Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
718b894dbb585af52dd24defb2e8c130216e5485 |
|
17-Aug-2011 |
Brian Paul <brianp@vmware.com> |
st/mesa: fix incorrect loop over instruction src regs The array of src regs is of size 3, not 4.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
e6c64800cc8833fb4083a556c839b51e8ac84a8b |
|
09-Aug-2011 |
Henri Verbeet <hverbeet@gmail.com> |
glsl_to_tgsi: improve assignment hack Fixes StarCraft 2 and Fallout 3 in Wine.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5164244df02f33d6ad9e0a286f4b6d6af2dfbc75 |
|
05-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: replace open-coded swizzle_for_size() This is a port of commit 4c7e215c7bb to glsl_to_tgsi.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b44648c9186d403abaeeeb3190d6759f951a49e4 |
|
05-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: try to avoid emitting a MOV_SAT to saturate an expression tree This is a port of commit 62722d9 to glsl_to_tgsi, with minor aesthetic changes (moved the declaration and assignment of new_inst inside the if block).
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6e7942936c5de59f509779b6f7620d80d2fbc21a |
|
05-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: remove unused-but-set variables in st_glsl_to_tgsi.cpp
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4683529048ee133481b2d8f1cae1685aa1736f9a |
|
04-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
Merge branch 'glsl-to-tgsi' Conflicts: src/mesa/state_tracker/st_atom_pixeltransfer.c src/mesa/state_tracker/st_program.c
|
b7e89115310628310bf458a33f2df2bf23384cf3 |
|
02-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: remove debugging printf
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
189e9f12c7d3a82d7dd28695935a83e4319bb267 |
|
27-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: copy reladdr in st_src_reg(st_dst_reg) constructor This is a glsl_to_tgsi port of commit f7cd9a858c04.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3e7fce9773ec332665326a785b6ed1fcf5bd578e |
|
27-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: add each relative address to the previous This is a glsl_to_tgsi port of commit d6e1a8f71437.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
10d31cb307f90a08fafed5c67945ffe53d279940 |
|
27-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: lower all ir_quadop_vector expressions Unlike Mesa IR, TGSI doesn't have a SWZ opcode.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3354a5b56398f90fc36ab14b6444aae27b50e859 |
|
27-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: rework immediate tracking to not use gl_program_parameter_list
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f751730ad003bb19ce85bc4d0abddaf40edde6c1 |
|
22-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: update comments
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a2c3b9f38d81f363bd62abc87dc3abef2beeba95 |
|
22-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: make coding style more consistent
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
0da994a9f15b461d16cf88ce16dc07e98dfada6f |
|
21-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: make assignment hack safer Fixes an assertion failure in piglit test glsl-texcoord-array.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7732822c833ee22e259af3f8bd2bfb57c986612e |
|
21-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: separate immediates from array constants during IR translation Before, if any uniform or constant array was accessed with indirect addressing, st_translate_program() would emit uniform constants in the place of immediates. This behavior was unavoidable with ir_to_mesa/mesa_to_tgsi, but glsl_to_tgsi can work around it since the GLSL IR backend and the TGSI emission are both inside the state tracker.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
87f8d8547db9b947ae847c509a464e06d0ac6c64 |
|
11-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: fix mistakes in get_pixel_transfer_visitor() I noticed these issues while working on get_bitmap_visitor().
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5f0b4b0e9d376f9ec1cb5ae08c36052f4f51ac37 |
|
11-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
st/mesa, glsl_to_tgsi: support glBitmap with a GLSL fragment shader active
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c0dcab2882a4731dccd363a40c3ebcabc88b9c5d |
|
09-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
st/mesa, glsl_to_tgsi: support glDrawPixels/glCopyPixels with a GLSL fragment shader active Since this was previously implemented using Mesa IR and _mesa_combine_programs, this commit adds a new code path that works with glsl_to_tgsi.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
33e0c47b05c8fbae9d7af57ba65b612825b5db60 |
|
04-Jul-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: replace MAX_PROGRAM_TEMPS (256) with MAX_TEMPS (4096)
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
9c2810103d107d1e5ef8bd8b57819d12264f664a |
|
28-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: always run copy_propagate() and eliminate_dead_code_advanced() These two passes are written to handle indirect addressing properly.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
4c8b6a286887628e5fc35306189a4c4a83c482ea |
|
28-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: fix mistake in new dead code elimination pass The conditions of IF opcodes were not being counted as reads, which sometimes led to the condition register being wrong or undefined.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f00406b68c07f97b11e873c04917cafdb1a67462 |
|
28-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: improve assignment handling This is a hack, but it's better than emitting an unnecessary MOV instruction and hoping the optimization passes clean it up.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
71cbc9e3c4c9ef6090ee31e87601ae64af26321e |
|
25-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: improve eliminate_dead_code_advanced()
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3bd06e5b82b438041f50e2469be9ea68bf3b4300 |
|
25-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: use the correct writemask in try_emit_mad() and try_emit_sat()
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
194732fd7299481dd57815f46a594d155260ce17 |
|
25-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: use a more specific condition for gl_FragDepth hack in generating assignments This reduces the number of instructions in the fragment shader of glsl-fs-atan-2 from 174 to 146 with EmitNoIfs enabled.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
41472f7809dcff114223b8fadc5b97baff6060a9 |
|
25-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: add a better, more advanced dead code elimination pass
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
7ec7dd4fb6ae6c8aa29988754476e1212eb986ef |
|
24-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: remove handling of XPD opcode in compile_tgsi_instruction() The opcode is never emitted by the glsl_to_tgsi_visitor, so its special case in compile_tgsi_instruction() was dead code.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8b881ad1c3d9dd3c96afbdbb608a7240d40e9c92 |
|
24-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: use swizzle_for_size for src reg in conditional moves This prevents the copy propagation pass from being confused by undefined channels and thus missing optimization opportunities.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
8c50f18b29637470539d05ccc32b0cae0092aeac |
|
21-Jun-2011 |
Emil Velikov <emil.l.velikov@gmail.com> |
glsl_to_tgsi: execute merge_registers() after eliminate_dead_code() Fixes a regression unintentionally introduced by "glsl_to_tgsi: fix shaders with indirect addressing of temps" that caused missing leaves in 3dmark01 test 4 (Nature) and missing/displaced textures on human models in Counter-Strike: Source. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Bryan Cain <bryancain3@gmail.com>
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
29d21417e38aed0f0710d3692df320728aef90b1 |
|
17-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: implement simplify_cmp pass needed by r300g
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
552cc48fca9b932fceb3d8fa7f9d0067f46b67c2 |
|
16-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: fix compile error with g++ 4.6
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
1141c3f4c4014e3c2834db65b96a3ba7cc78744a |
|
16-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl: remove glsl_type::get_vec4_type() Thanks to Kenneth Graunke for pointing out that glsl_type::get_instance(base, 4, 1) is the same as glsl_type::get_vec4_type(base). The function was only used in st_glsl_to_tgsi, and this commit replaces that usage with get_instance.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
bf1cee9f24022e3da96d84fdc6baaa050d3eadf1 |
|
15-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: finish some loose ends
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b2c067e3075414703a7ebad439d4290c27cab46a |
|
15-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl-to-tgsi: fix piglit tests This commit fixes all of the piglit tests regressed by "mesa, glsl_to_tgsi: add native support for integers in shaders" on softpipe.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
b191382c60bdcfeb7f424b23aa6ab63de81e2f08 |
|
14-Jun-2011 |
Bryan Cain <bryancain3@gmail.com> |
mesa, glsl_to_tgsi: add native support for integers in shaders Disabled by default on all drivers. To enable it, change ctx->GLSLVersion to 130 in st_extensions.c. Currently, softpipe is the only driver with integer support.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
6d89abadbcd68bbe9e08f041412549f8dc1fc73c |
|
18-May-2011 |
Bryan Cain <bryancain3@gmail.com> |
mesa: support boolean and integer-based parameters in prog_parameter The functionality is not used by anything yet, and the glUniform functions will need to be reworked before this can reach its full usefulness. It is nonetheless a step towards integer support in the state tracker and classic drivers.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
16d7a717d592524e4d62fec4173cb9523f7a1453 |
|
03-May-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: fix shaders with indirect addressing of temps Fixes several Piglit tests, although it's a step backwards for optimization.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
56dc2c176c3ef0d4d5abea54ff4035b062262286 |
|
02-May-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: use TGSI opcodes when converting from GLSL IR Before, the translator used Mesa IR opcodes (a holdover from ir_to_mesa) and converted them to TGSI opcodes during TGSI emission.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
3b0858f1aed83e2d90449f042d625c86ac7b93ed |
|
01-May-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: support DDY (ir_unop_dFdy)
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
a6705aa5ca151278ed1e596b68a327afd1405b9e |
|
01-May-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: lower noise opcodes when converting from GLSL IR, not when generating TGSI
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
5768ed6429937940bd48f5de4f8383273952880a |
|
01-May-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: define the sampler objects used Fixes the Nexuiz title screen and the water in 0 A.D.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
556bd82ce1227a568d69dfa0c22841986267d39f |
|
30-Apr-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: remove a bad assertion It was triggered by Alien Arena.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
c341d3cfd0ddbabf6274212b7f0da1a25854a673 |
|
30-Apr-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: remove reads to output registers Fixes a regression in 0 A.D. introduced by 809a11c77073e999fd47.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
44867da3543ca54ef245695cef72a6e305451d93 |
|
30-Apr-2011 |
Bryan Cain <bryancain3@gmail.com> |
glsl_to_tgsi: stop generating Mesa IR Before, it was still generating unused Mesa IR as a remnant of ir_to_mesa, and depended on some of the information from it.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|
f379d8f73063a4c4d6cf379318c6b37118d46bfa |
|
26-Apr-2011 |
Bryan Cain <bryancain3@gmail.com> |
st/mesa: Add a GLSL IR to TGSI translator. It is still a work in progress at this point, but it produces working and reasonably well-optimized code. Originally based on ir_to_mesa and st_mesa_to_tgsi, but does not directly use Mesa IR instructions in TGSI generation, instead generating TGSI from the intermediate class glsl_to_tgsi_instruction. It also has new optimization passes to replace _mesa_optimize_program.
/external/mesa3d/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
|