summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* softpipe: fix depth sampling for linear vs nearest.Dave Airlie2011-12-191-7/+16
| | | | | | | | | | This sample compare was always doing linear, and this makes the glsl-fs-shadow1DArray test render like the Intel driver. fix wrong 0->j from initial patch Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* nvc0: add NVC0_RESOURCE_FLAG_VIDEOChristoph Bumiller2011-12-182-0/+30
|
* r600g: fix MAX_STREAM_OUTPUT_SEPARATE_ATTRIBS limitMarek Olšák2011-12-171-2/+1
|
* r600g: handle new capsMarek Olšák2011-12-171-0/+2
|
* r300g: handle new capsMarek Olšák2011-12-171-0/+4
|
* r600g: implement transform feedbackMarek Olšák2011-12-1718-13/+873
| | | | | | | | r600: DONE. r700: MOSTLY (done but locks up). Evergreen: MOSTLY (done but doesn't work for an unknown reason). The kernel support will come soon.
* llvmpipe: adapt to struct stream_output_info modificationsChristoph Bumiller2011-12-151-9/+2
| | | | My fault, I broke it with v5 of 861a029ddb31e91bb4d8e18ab708d0d172f63aad.
* nvc0: implement new stream output interfaceChristoph Bumiller2011-12-1515-189/+372
|
* trace: implement stream output interfaceChristoph Bumiller2011-12-151-0/+73
|
* noop: implement stream outputMarek Olšák2011-12-151-0/+35
|
* gallium: interface changes necessary to implement transform feedback (v5)Marek Olšák2011-12-1511-22/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Namely: - EXT_transform_feedback - ARB_transform_feedback2 - ARB_transform_feedback_instanced The old interface was not useful for OpenGL and had to be reworked. This interface was originally designed for OpenGL, but additional changes have been made in order to make st/d3d1x support easier. The most notable change is the stream-out info must be linked with a vertex or geometry shader and cannot be set independently. This is due to limitations of existing hardware (special shader instructions must be used to write into stream-out buffers), and it's also how OpenGL works (stream outputs must be specified prior to linking shaders). Other than that, each stream output buffer has a "view" into it that internally maintains the number of bytes which have been written into it. (one buffer can be bound in several different transform feedback objects in OpenGL, so we must be able to have several views around) The set_stream_output_targets function contains a parameter saying whether new data should be appended or not. Also, the view can optionally be used to provide the vertex count for draw_vbo. Note that the count is supposed to be stored in device memory and the CPU never gets to know its value. OpenGL way | Gallium way ------------------------------------ BeginTF = set_so_targets(append_bitmask = 0) PauseTF = set_so_targets(num_targets = 0) ResumeTF = set_so_targets(append_bitmask = ~0) EndTF = set_so_targets(num_targets = 0) DrawTF = use pipe_draw_info::count_from_stream_output v2: * removed the reset_stream_output_targets function * added a parameter append_bitmask to set_stream_output_targets, each bit specifies whether new data should be appended to each buffer or not. v3: * added PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME for ARB_tfb2, note that the draw-auto subset is always required (for d3d10), only the pause/resume functionality is limited if the CAP is not advertised v4: * update gallium/docs v5: * compactified struct pipe_stream_output_info, updated dump/trace
* gallium: disable stream output in drivers that support itMarek Olšák2011-12-155-2/+23
| | | | I am going to make interface changes and I don't want to break compilation.
* r300g: take advantage of KEEP_TILING_FLAGS flush flagMarek Olšák2011-12-132-2/+10
| | | | This fixes at least two multi-context-related races.
* nouveau: get rid of winsys objectMarcin Slusarz2011-12-1314-27/+15
| | | | Its only purpose was to destroy itself.
* i915g: Roll back to the previous shader limits.Stéphane Marchesin2011-12-133-6/+2
| | | | Those shader limits seem to be responsible for a piglit hang.
* i915g: Update TODO.Stéphane Marchesin2011-12-131-0/+2
|
* mesa: add const flags to skip MaxVarying and MaxUniform linker checks (v2)Marek Olšák2011-12-131-0/+2
| | | | | | | | | This is only temporary until a better solution is available. v2: print warnings and add gallium CAPs Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* r300g: integer and fixed-point 16.16 textures are not supportedMarek Olšák2011-12-121-0/+11
|
* i915g: fix debug dump on 64 bit systemsMichael Karcher2011-12-111-1/+1
|
* i915g: Fix wrong indices for LINE_LOOP caseFatih Aşıcı2011-12-111-2/+2
|
* llvmpipe: Trim the fragment shader cached based on LLVM IR instruction count.José Fonseca2011-12-084-11/+33
| | | | | | | | | | | | Number of fragment shader variants is not very representative of the memory used by LLVM, neither is number of shader instructions, as often texture sampling constitutes most of the generated code. This change adds an additional trim criteria: least recently used fragment shader variants will be freed until the total number of LLVM IR instruction falls below a specified threshold. Reviewed-by: Brian Paul <[email protected]>
* llvmpipe,draw,gallivm: Ensure we don't walk beyond the end of the shader ↵José Fonseca2011-12-082-3/+11
| | | | | | | | | | | variant list. u_simple_list.h uses a sentinel element, and not a NULL element. So ensure list is not empty when reducing the list of shader variants. Something I noticed while trying to free variants more aggressively. Reviewed-by: Brian Paul <[email protected]>
* nouveau/nvfx: Add more unsupported PIPE_CAP valuesPatrice Mandin2011-12-061-1/+5
| | | | Signed-off-by: Patrice Mandin <[email protected]>
* r600g: check shaders presence in r600_draw_vboVadim Girlin2011-12-061-0/+3
| | | | | | | | | | This patch should prevent the crashes when some shaders are absent, see https://bugs.freedesktop.org/show_bug.cgi?id=43341 Note this is a candidate for the stable branch. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* r600g: fix error path and use util_slab_freeJerome Glisse2011-12-051-1/+1
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* nv50/nvc0: fix crash when channel allocation failsMarcin Slusarz2011-12-022-2/+4
|
* i915g: Implement GL_STREAM_* for textures by using untiled textures.Stéphane Marchesin2011-12-011-1/+1
|
* i915g: Add unsupported PIPE_SHADER_CAP_OUTPUT_READ to silence warnings.Stéphane Marchesin2011-12-011-0/+2
|
* gallium/failover: Remove the deprecated module.Kai Wasserbäch2011-11-307-1169/+0
| | | | | Signed-off-by: Kai Wasserbäch <[email protected]> Signed-off-by: José Fonseca <[email protected]>
* gallium/cell: Remove the driver.Kai Wasserbäch2011-11-2973-19259/+0
| | | | | | | Complicates Gallium3D development and doesn't seem to have active users. Signed-off-by: Kai Wasserbäch <[email protected]> Signed-off-by: José Fonseca <[email protected]>
* gallium/auxiliary: Remove os_stream.José Fonseca2011-11-291-9/+8
| | | | | | XP kernel mode was the only subsystem lacking stdio FILES. Reviewed-by: Brian Paul <[email protected]>
* i965g: Delete this driver.Kai Wasserbäch2011-11-2996-35580/+0
| | | | | | | Never completed, and no plans to do so. Signed-off-by: Kai Wasserbäch <[email protected]> Signed-off-by: José Fonseca <[email protected]>
* r600g: add framebuffer support for 2/10/10/10 integerDave Airlie2011-11-272-0/+4
|
* r600g: add int support for 2/10/10/10 format.Dave Airlie2011-11-271-0/+3
| | | | | | integer wasn't set properly for the non-uniform types. Signed-off-by: Dave Airlie <[email protected]>
* android: pass -std=c99 by defaultChia-I Wu2011-11-264-7/+0
| | | | | Several modules expect a C99 compiler already. It is also the default for Makefile build.
* softpipe: s/int/unsigned/ to be consistent in alpha test codeBrian Paul2011-11-231-2/+2
|
* softpipe: remove pointless break stmtBrian Paul2011-11-231-1/+0
|
* i915g: don't set alpha to 1 for RGBX and BGRXVasily Khoruzhick2011-11-231-2/+1
| | | | | | | | This patch fixes regression introduced in 1f3c5eae5c4be582e50c2d4d7950424d86059c45 Signed-off-by: Vasily Khoruzhick <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
* r600g: handle all remaining CAPsMarek Olšák2011-11-221-0/+6
|
* r600g: remove default case statements in get_paramMarek Olšák2011-11-221-9/+3
| | | | This will throw a compile warning if there's an unhandled CAP.
* r300g: re-order shaders CAPsMarek Olšák2011-11-221-7/+6
|
* r300g: handle SHADER_CAP_OUTPUT_READMarek Olšák2011-11-221-0/+2
|
* r300g: remove default case statements in get_paramMarek Olšák2011-11-221-8/+2
| | | | This will throw a compile warning if there's an unhandled CAP.
* u_vbuf_mgr: rename to u_vbufMarek Olšák2011-11-224-6/+6
|
* gallium: separate out floating-point CAPs into its own enumMarek Olšák2011-11-2217-100/+108
| | | | | | | | | | | | | | | The motivation behind this is to add some self-documentation in the code about how each CAP can be used. The idea is: - enum pipe_cap is only valid in get_param - enum pipe_capf is only valid in get_paramf Which CAPs are floating-point have been determined based on how everybody except svga implemented the functions. svga have been modified to match all the other drivers. Besides that, the floating-point CAPs are now prefixed with PIPE_CAPF_.
* gallium: remove PIPE_CAP_GLSL and enable GLSL unconditionallyMarek Olšák2011-11-2211-32/+0
| | | | | Only i965g does not enable GLSL, but that driver has been unmaintained and bitrotting for quite a while anyway.
* i915g: implement RGBX and BGRX render targetsVasily Khoruzhick2011-11-222-2/+7
| | | | | | | | | | They're not supported by hw directly, but it's easy to emulate them with a shader swizzling fixup. Signed-off-by: Vasily Khoruzhick <[email protected]> [danvet: The important thing is to write a 1 to the unused alpha channel, the ddx is relying on this for render accel.] Signed-off-by: Daniel Vetter <[email protected]>
* r600g: handle PIPE_SHADER_CAP_OUTPUT_READVadim Girlin2011-11-211-0/+2
| | | | Signed-off-by: Vadim Girlin <[email protected]>
* r300g: set max_index to 0xffffff if there are no per-vertex attribsMarek Olšák2011-11-201-2/+11
|
* u_vbuf_mgr: correctly compute max vertex count from hw buffersMarek Olšák2011-11-201-1/+8
| | | | | | | | And update r300g. This is different from util_draw_max_index in how it obtains vertex elements and that it doesn't have to call util_format_description due to additional precomputed data in vertex elements.