aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
...
* i965: Write code to compute a VUE map.Paul Berry2011-09-062-0/+168
| | | | | | | | | | | Several places in the i965 code make implicit assumptions about the structure of data in the VUE (vertex URB entry). This patch adds a function, brw_compute_vue_map(), which computes the structure of the VUE explicitly. Future patches will modify the rest of the driver to use the explicitly computed map rather than rely on implicit assumptions about it. Reviewed-by: Eric Anholt <[email protected]>
* Refactor code that converts between gl_vert_result and gl_frag_attrib.Paul Berry2011-09-065-41/+52
| | | | | | | | | | | | Previously, this conversion was duplicated in several places in the i965 driver. This patch moves it to a common location in mtypes.h, near the declaration of gl_vert_result and gl_frag_attrib. I've also added comments to remind us that we may need to revisit the conversion code when adding elements to gl_vert_result and gl_frag_attrib. Reviewed-by: Eric Anholt <[email protected]>
* mesa/st: add support for 2101010 vertex format conversion.Dave Airlie2011-09-062-1/+61
| | | | Signed-off-by: Dave Airlie <[email protected]>
* mesa/varray: add interface support for ARB_vertex_type_2_10_10_10_rev (v2)Dave Airlie2011-09-061-7/+38
| | | | | | | | | | | This just adds all the API check for vertex arrays using 2101010 types. 2101010 is also useable with GL_BGRA. v2: fix whitespace. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa/vbo: add ARB_vertex_type_2_10_10_10_rev APIs.Dave Airlie2011-09-063-2/+490
| | | | | | | | | | | | | | | This adds the vertex processing paths for the 2101010 types. It converts the attributes to floats for all the immediate entry points, some entrypoints are normalised and the attrib APIs take a normalized parameter. There are four main paths, ui10 -> float unnormalized i10 -> float unnormalized ui10 -> float normalized i10 -> float normalized along with the ui2/i2 equivs. Signed-off-by: Dave Airlie <[email protected]>
* mesa: add initial API changes for ARB_vertex_type_2_10_10_10_rev.Dave Airlie2011-09-062-0/+111
| | | | | | | add new APIs to the internal mesa driver interface + set funcs in vtxfmt.c Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glapi: regen API files for new extensionDave Airlie2011-09-063-5298/+6030
| | | | Signed-off-by: Dave Airlie <[email protected]>
* mesa: add a UniformBooleanTrue optionBryan Cain2011-09-054-2/+14
| | | | | | | | Drivers supporting native integers set UniformBooleanTrue to the integer value that should be used for true when uploading uniform booleans. This is ~0 for Gallium and 1 for i965. Reviewed-by: Ian Romanick <[email protected]>
* glsl_to_tgsi: fixes for native integers and integer booleansBryan Cain2011-09-041-52/+118
| | | | | 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.
* intel: fix build errorYuanhan Liu2011-09-031-1/+1
| | | | | | | | Fix a build error introduced by commit 6862b54f: i965_dri.so.tmp: undefined reference to `strerr' Signed-off-by: Yuanhan Liu <[email protected]> Reviewed-by: Paul Berry <[email protected]>
* mesa: handle zero-size buffers in MapBuffer and ranges in MapBufferRange (v3)Marek Olšák2011-09-022-25/+31
| | | | Reviewed-by: Brian Paul <[email protected]>
* glsl_to_tgsi: fix more potential shader reference leaksMarek Olšák2011-09-021-0/+10
| | | | The last one has been pointed out by Ian.
* intel: Give an explanation why we are exiting for debugging.Eugeni Dodonov2011-09-021-0/+1
| | | | | | | | | | This could happen in 3 different cases, and ERRNO can explain what happened. First case would be EIO (gpu hang), second EINVAL (something is wrong inside the batch), and we also discovered that sometimes it happens with ENOSPACE. All of those cases are different it it could be worth to at least know what happened. Signed-off-by: Eugeni Dodonov <[email protected]>
* i965/vs: Fix NULL pointer dereference in pre-Gen6 push constant loading.Kenneth Graunke2011-09-021-2/+2
| | | | | | | | | | | According to the comment, we need to load /some/ push constants on pre-Gen6 hardware or the GPU will hang. The existing code set these bogus parameters to NULL pointers; unfortunately, the code in brw_curbe.c that loads them dereferences those pointers. So, change them to be pointers to an actual floating point value of 0.0. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* intel: Upload batchbuffer contents even if INTEL_NO_HW is set.Eric Anholt2011-09-021-8/+8
| | | | | It is useful for debugging to dump batchbuffers while not actually executing them.
* gallium: add caps for MIN/MAX texel offsets.Dave Airlie2011-09-021-0/+3
| | | | | | | | As per Brian's suggestion, add caps for drivers that support texture offsets to advertise a min/max via TGSI, also use it in the state tracker. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* tgsi: add support for texture offsets to the TGSI IR. (v2)Dave Airlie2011-09-022-2/+46
| | | | | | | | | | | | | 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 <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* swrast: get rid of needless do/whileBrian Paul2011-08-311-2/+2
|
* mesa: fix broken store_texel() functionsBrian Paul2011-08-312-39/+64
| | | | | | This fixes the swrast failures for piglit's fbo-generatemipmap-formats test (for uncompressed formats). At some point down the road this code will go away so I haven't checked all the other store_texel() functions.
* intel: fix GLESv1 supportChia-I Wu2011-09-013-8/+58
| | | | | | | Add intelInitExtensionsES1 to enable required and optional GLESv1 extensions. Reviewed-by: Ian Romanick <[email protected]>
* intel: rename intel_extensions_es2.c to intel_extensions_es.cChia-I Wu2011-09-017-4/+4
| | | | | | We'd like to add intelInitExtensionsES1 to it later. Reviewed-by: Ian Romanick <[email protected]>
* i915: build i915_dri.so for AndroidChia-I Wu2011-09-012-0/+63
| | | | | | | Simple demos such as test-opengl-gl_basic work. SurfaceFlinger does not work yet due to missing GL_OES_draw_texture support (and maybe more). Reviewed-by: Chad Versace <[email protected]>
* i915: factor our source lists into Makefile.sourcesChia-I Wu2011-09-012-47/+53
| | | | | | | | In preparation for porting i915 to Android, factor its source lists into a shared makefile. This prevents duplication of source lists, and hence prevents the Android build from breaking as often. Reviewed-by: Chad Versace <[email protected]>
* i965: fix Android buildChia-I Wu2011-09-012-4/+8
| | | | | | Use $(TARGET_CC) instead of $(CC). Correctly name and set LOCAL_CFLAGS. Reviewed-by: Chad Versace <[email protected]>
* mesa: Replace the EmitNoIfs compiler flag with a MaxIfDepth flag.Bryan Cain2011-08-315-14/+10
| | | | | | | 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 <[email protected]>
* mesa: fix comment typo: s/GL_SIGNED_NORMALED/GL_SIGNED_NORMALIZED/Brian Paul2011-08-311-1/+1
|
* glsl: Use a separate div_to_mul_rcp lowering flag for integers.Bryan Cain2011-08-313-2/+3
| | | | | | | | | | | | | | 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 <[email protected]> Signed-off-by: Bryan Cain <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]>
* mesa: bump max program local params, max uniforms limitBrian Paul2011-08-311-2/+2
| | | | | | Some driver support more than 1024. Reviewed-by: Ian Romanick <[email protected]>
* swrast: initialize program native limitsBrian Paul2011-08-311-0/+22
| | | | Reviewed-by: Ian Romanick <[email protected]>
* i965/vs: Avoid the emit(), remove(), insert_before() for array instructions.Eric Anholt2011-08-312-46/+56
| | | | | | | v2: Add generator instructions for the scratch opcodes. Add emit_before() for handling ->ir and ->annotation inheritance. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Move logic for weird CMP type handling to CMP generators.Eric Anholt2011-08-312-40/+23
| | | | | | v2: Don't bother with the no-dst-reg version of CMP() Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Convert emit() calls to the new instruction generators.Eric Anholt2011-08-311-166/+127
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Convert gen6 userclip handling to new generators.Eric Anholt2011-08-311-3/+3
| | | | | | | | This DP4 had one of its operands missing, so we were generating garbage clip distances. Using the per-opcode instruction generators made it obvious. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Create instruction generators outside of the emit() functions.Eric Anholt2011-08-312-0/+90
| | | | | | v2: Fixed gen6 IF(). Reviewed-by: Kenneth Graunke <[email protected]>
* intel: Restructure TexSubImage as just the 2D implementation and blit func.Eric Anholt2011-08-301-100/+114
| | | | | | | | | | | Fixes a segfault in piglit copyteximage where I accidentally removed the dst_bo setup in the previous cleanup. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40474 Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Tested-by: Sean McNamara <[email protected]> Tested-by: Ian Romanick <[email protected]>
* intel: Remove the passthrough TexSubImage[13]D functions.Eric Anholt2011-08-301-42/+0
| | | | | | | | | All we need for these is _mesa_store_texsubimage[13]d(), since we don't do the blit path. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Tested-by: Ian Romanick <[email protected]>
* i965/vs: Fix GL_FIXED setup when a writemask is present.Eric Anholt2011-08-302-13/+24
| | | | | | | | | | | | By emitting code before generate_code(), we ended up in align1 mode where writemasks don't exist, so we rescaled gl_Vertex.w and things went badly. By moving GL_FIXED support to the visitor, we end up with normal codegen, and as a bonus the GL_FIXED setup ends up getting printed appropriately in debug output. Fixes gtf/GL2Tests/fixed_data_type Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Pack live uniform vectors together in the push constant upload.Eric Anholt2011-08-304-3/+98
| | | | | | | | | | At some point we need to also move uniform accesses out to pull constants when there are just too many in use, but we lack tests for that at the moment. Fixes glsl-vs-large-uniform-array. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Track uniforms as separate vectors once we've done array access.Eric Anholt2011-08-303-0/+38
| | | | | | | This will make it easier to figure out which elements are totally unused and not upload them. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Don't lower uniform array indexing.Eric Anholt2011-08-301-1/+1
| | | | | | | | | | This avoids the massive conditional move array access, and brings code generation quality for the new VS backend into the realm of efficiency of the old backend (roughly 20% more instructions generated than before across shader-db, instead of assertion failing for generating over 10,000 instructions on many shaders!). Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Add support for pull constant loads for uniform arrays.Eric Anholt2011-08-306-5/+195
| | | | | v2: reworked the instruction emit and made use of gen6_resolve_implied_move, from Ken's review
* i965/vs: Restructure emit() functions around a vec4_instruction constructor.Eric Anholt2011-08-302-16/+33
| | | | | | We sometimes want to put an instruction somewhere besides the end of the instruction stream, and we also want per-opcode instruction generation to enable compile-time checking of operands.
* i965: Make the old VS backend record pull constant references in pull_params[].Eric Anholt2011-08-303-9/+25
| | | | | | | We'll be using that to track things for the new VS backend, and this will avoid cluttering brw_vs_surface_state.c for it. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Fix glGetUniform() type conversions.Eric Anholt2011-08-301-58/+79
| | | | | | | | | | | | | | | | | | | | | We were primarily failing to convert in the NativeIntegers case, which this fixes. However, we were also just truncating float uniforms when converting to integer, which does not appear to be the correct behavior. Note, however, that the NVIDIA drivers also truncate instead of rounding. GL_DOUBLE return type is dropped because it was never used and completely broken. It can be added when there's test code. Fixes piglit ARB_shader_objects/getuniform v2: This is a rewrite of my previous glGetUniform patch, which Ken pointed out missed storage_type-based conversions to integer, which was totally broken still thanks to a typo in the testcase. v3: Quote the spec justifying the rounding behavior. Acked-by: Kenneth Graunke <[email protected]> Acked-by: Ian Romanick <[email protected]>
* mesa: Make the gl_constant_value's bool occupy the same space as float/int.Eric Anholt2011-08-301-1/+1
| | | | | | | | | At least for Intel, all our uniform components are of uint32_t size, either float or signed or unsigned int. For uploading uniform data in the driver, it's much easier to upload a full dword per uniform element instead of trying to pick out the bool byte and then fill in the top 3 bytes of pad with 0. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Use native integer uniforms when the new VS backend is in use.Eric Anholt2011-08-306-31/+13
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Move the flag for whether to use the new backend to the context.Eric Anholt2011-08-303-5/+4
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Build i965_dri.so for AndroidChad Versace2011-08-302-0/+96
| | | | | | | Compile tested only. Reviewed-by: Chia-I Wu <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i965: Fix Android build by removing relative includesChad Versace2011-08-3024-40/+40
| | | | | | | | | | Replace each occurence of #include "../glsl/*.h" with #include "glsl/*.h" Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* dri: Build libmesa_dri_common for AndroidChad Versace2011-08-302-0/+68
| | | | | | | | libmesa_dri_common is a static library that contains the sources in src/mesa/drivers/dri/common. Each DRI driver should link to it. Reviewed-by: Chia-I Wu <[email protected]> Signed-off-by: Chad Versace <[email protected]>