summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/i915
Commit message (Collapse)AuthorAgeFilesLines
* gallium: remove PIPE_MAX_VERTEX/GEOMETRY_SAMPLERS #defineBrian Paul2012-08-163-10/+10
| | | | | | | | | | | | PIPE_MAX_SAMPLERS, PIPE_MAX_VERTEX_SAMPLERS and PIPE_MAX_GEOMETRY_SAMPLERS were all defined to the same value (16). In various places we're creating arrays such as sampler_views[PIPE_SHADER_TYPES][PIPE_MAX_SAMPLERS] so we were assuming the same number of max samplers for all shader stages anyway. Of course, drivers are still free to advertise different numbers of max samplers for different shaders.
* gallium: add a shader stage/type param to some draw functionsBrian Paul2012-08-161-0/+3
| | | | | To prepare for geometry shader texture support in the draw module. Note: we still only handle the vertex shader case.
* gallium/u_blitter: implement blitting multisample resourcesMarek Olšák2012-08-151-2/+2
| | | | It can blit only one sample at a time (it should be called in a loop).
* i915g: silence a const pointer warningBrian Paul2012-08-041-1/+1
|
* gallium/u_blitter: add a query for checking whether copying is supportedMarek Olšák2012-08-042-5/+9
| | | | v2: add comments
* gallium/u_blitter: remove fallback for stencil copy that all drivers skippedMarek Olšák2012-08-041-1/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* draw,gallivm: Fix draw_get_shader_param.José Fonseca2012-07-131-2/+0
| | | | | | | | | | - Use LLVM limits when LLVM is being used, instead of TGSI limits - Provide draw_get_shader_param_no_llvm for when llvm is never used (softpipe) - Eliminate several of the hacks around draw shader caps in several drivers Unfortunately the hack for PIPE_MAX_VERTEX_SAMPLERS is still necessary. Reviewed-by: Marek Olšák <[email protected]>
* gallium: add QUERY_TIMESTAMP cap and get_timestamp screen functionMarek Olšák2012-07-101-0/+1
|
* i915g: Implement sRGB texturesStéphane Marchesin2012-06-265-12/+128
| | | | | | | | Since we don't have them in hw we emulate them in the shader. Although not recommended by the spec it is legit. As a side effect we also get GL 2.1. I think this is as far as we can take the i915.
* gallium: Add PIPE_CAP_START_INSTANCEFredrik Höglund2012-06-191-0/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* i915g: More ops commute.Stéphane Marchesin2012-06-152-6/+22
| | | | This allows using the optimizations more broadly.
* automake: Globally add stub automake targets to the old Makefiles.Eric Anholt2012-06-111-3/+0
| | | | | | | | | I tried to update all the old Makefiles that included the default config to be sure they had a default target if they didn't previously have one, since this new all target will always point at it. Almost everything had one. Reviewed-by: Kenneth Graunke <[email protected]>
* i915g: Fix depth/stencil glClearMichael Karcher2012-06-101-6/+5
| | | | | | | | | | | | | This patch fixes a copy/paste error and masking of depth/stencil (stencil is in the top 8 bits), and makes glean/readPixSanity happy. Both the stencil and the depth buffer piglit test also pass if glClear(DEPTH | STENCIL) is executed instead of glClear(DEPTH)/glClear(STENCIL). Reviewed-by: Daniel Vetter <[email protected]> Tested-by: Christopher Egert <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
* draw: simplify index buffer specificationBrian Paul2012-05-312-5/+4
| | | | | Replace draw_set_index_buffer() and draw_set_mapped_index_buffer() with draw_set_indexes() which simply takes a pointer and an index size.
* i915g: Check for geometry shader earlier in i915_set_constant_buffer.Vinson Lee2012-05-241-4/+4
| | | | | | | Fix resource leak defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium: remove user_buffer_create from the interfaceMarek Olšák2012-05-121-1/+0
| | | | Nothing uses it now.
* Merge branch 'gallium-userbuf'Marek Olšák2012-05-114-7/+25
|\ | | | | | | | | | | | | | | Conflicts: src/gallium/docs/source/screen.rst src/gallium/drivers/nv50/nv50_state.c src/gallium/include/pipe/p_defines.h src/mesa/state_tracker/st_draw.c
| * gallium: remove pipe_resource::user_ptrMarek Olšák2012-04-301-1/+0
| | | | | | | | It's unused now.
| * gallium: add void *user_buffer to pipe_constant_bufferMarek Olšák2012-04-301-0/+9
| | | | | | | | This reduces CPU overhead when updating constants.
| * gallium: add void *user_buffer in pipe_index_bufferMarek Olšák2012-04-301-3/+6
| | | | | | | | | | | | | | Adapted drivers: i915, llvmpipe, r300, r600, radeonsi, softpipe. User index buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working.
| * gallium: remove pipe_context::redefine_user_bufferMarek Olšák2012-04-301-1/+0
| |
| * gallium: add void *user_buffer in pipe_vertex_bufferMarek Olšák2012-04-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | This reduces CPU overhead in st_draw_vbo and removes a lot of unnecessary code in that function which was required only to comply with the gallium interface, but wasn't any useful really. Adapted drivers: i915, llvmpipe, r300, softpipe. No changes required in: r600, radeonsi. User vertex buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working.
| * gallium: change set_constant_buffer to be UBO-friendlyMarek Olšák2012-04-301-1/+2
| |
| * gallium: add PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENTMarek Olšák2012-04-301-0/+3
| | | | | | | | | | | | | | | | This is required for any serious constant buffer support. Constant buffer offsets on ATI and NVIDIA DX10 and DX11 GPUs must be a multiple of 256. In OpenGL, this can be queried via GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT.
| * gallium: add PIPE_CAP_USER_INDEX_BUFFERS and PIPE_CAP_USER_CONSTANT_BUFFERSMarek Olšák2012-04-301-0/+2
| |
* | gallium/drivers: handle TGSI_OPCODE_CEILChristoph Bumiller2012-05-091-0/+16
|/
* i915g: report that all vertex formats are supportedMarek Olšák2012-04-241-1/+3
| | | | So that u_vbuf isn't enabled.
* gallium drivers: report that user vertex buffers are supportedMarek Olšák2012-04-241-0/+1
|
* gallium: add user_ptr in pipe_resourceMarek Olšák2012-04-241-0/+1
| | | | I need to access the pointer in st/mesa when I only have pipe_resource.
* Revert "i915g: Implement stipple with draw."Stéphane Marchesin2012-04-122-2/+1
| | | | This reverts commit 3cff45fdb182a1327f6b89fdc4e0ddc5d680372a.
* Revert "i915g: Remove unused poly stipple state."Stéphane Marchesin2012-04-122-0/+54
| | | | This reverts commit be6a02266d1a934c6eff9aaf12fc618588b2d586.
* gallium: adapt to get_query_result interface changeMarek Olšák2012-03-301-1/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium/drivers: Use automake to generate makefileTom Stellard2012-03-141-0/+3
|
* Revert "gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLY"Marek Olšák2012-03-052-12/+2
| | | | | | | This reverts commit 0950086376b1c8b7fb89eda81ed7f2f06dee58bc. It was decided to refactor the transfer API instead of adding workarounds to address the performance issues.
* gallium: remove PIPE_SHADER_CAP_OUTPUT_READMarek Olšák2012-02-271-2/+0
| | | | | | | | | | | | 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.
* i915g: Fix fallout from 8e4540ec2a82e72be491bc8fe23c10551d29a96cStéphane Marchesin2012-02-241-4/+10
| | | | Fixes piglit regressions from that change.
* gallium: remove unused winsys pointers in pipe_screen and pipe_contextMarek Olšák2012-02-212-3/+0
| | | | A winsys is already a private object of a driver.
* i915g: Remove useless draw calls.Stéphane Marchesin2012-02-123-41/+2
|
* i915g: Add a way to profile the contents of command buffers.Stéphane Marchesin2012-02-121-0/+12
|
* i915g: Fix comments.Stéphane Marchesin2012-02-121-2/+2
|
* i915g: Don't emit state when it's already bound.Stéphane Marchesin2012-02-121-0/+32
|
* i915g: Remove unused poly stipple state.Stéphane Marchesin2012-02-122-54/+0
|
* i915g: Implement stipple with draw.Stéphane Marchesin2012-02-122-1/+5
|
* i915g: Fix comment.Stéphane Marchesin2012-02-121-1/+1
|
* i915g: Move ureg defines to the header so we can share them.Stéphane Marchesin2012-02-122-32/+32
|
* i915g: Separate declarations and program in the fragment program struct.Stéphane Marchesin2012-02-124-9/+31
| | | | We need this later to fixup fragment programs properly.
* gallium: add PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTIONChristoph Bumiller2012-02-091-0/+1
| | | | | | | Just let the hardware do it if it can and avoid drivers having to check for the special case on each draw call. v2: update the draw module
* st/mesa: do vertex and fragment color clamping in shadersMarek Olšák2012-01-251-1/+3
| | | | | | | | | | | | | | 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.
* i915g: Fix indentation.Stéphane Marchesin2012-01-191-1/+1
|
* i915g: Fix indentation and comment.Stéphane Marchesin2012-01-191-2/+2
|