summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/cell
Commit message (Collapse)AuthorAgeFilesLines
* tgsi: add caps for fragment coord conventions (v3)Luca Barbieri2010-01-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v3: - Renumber caps to accomodate caps to add to master in the meantime - Document caps - Add unsupported caps to *_screen.c too Changes in v2: - Split for properties patch - Use positive caps instead of negative caps This adds 4 caps to indicate support of each of the fragment coord conventions. All drivers are also modifed to add the appropriate caps. Some drivers were incorrectly using non-Gallium-default conventions, and caps for them have them set so that they will behave correctly after the later state tracker patches. This drivers are softpipe/llvmpipe (uses integer rather than half integer) and pre-nv50 Nouveau (uses lower left rather than upper left). Other drivers might be broken. With this patchset, fixing them is only a matter of exposing the appropriate caps that match the behavior of the existing code. Drivers are encouraged to support all conventions themselves for better performance, and this feature is added to softpipe in a later patch.
* Merge commit 'origin/perrtblend'Roland Scheidegger2010-01-282-34/+34
|\ | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_screen.c src/gallium/include/pipe/p_defines.h
| * cell: adapt to blend changesRoland Scheidegger2010-01-252-34/+34
| |
* | gallium: Enable multiple constant buffers for vertex and geometry shaders.Michal Krol2010-01-281-1/+1
| |
* | cell: remove commas from structs wrapped in PIPE_ALIGN_TYPE macroBrian Paul2010-01-271-7/+18
|/ | | | This avoids the need to make PIPE_ALIGN_TYPE a variadic macro.
* Merge branch 'gallium-noconstbuf'Roland Scheidegger2010-01-154-12/+12
|\ | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_draw_arrays.c src/mesa/state_tracker/st_draw_feedback.c
| * gallium: remove const qualifier from pipe_buffer argument in set_constant_bufferRoland Scheidegger2010-01-111-1/+1
| |
| * gallium: adapt drivers to pipe_constant_buffer removalRoland Scheidegger2009-12-244-12/+12
| |
* | gallium: Simplify PIPE_ALIGN_VAR.José Fonseca2010-01-129-27/+28
| | | | | | | | | | | | gcc allows pre-fix variable attributes. Suggested by Ian Romanick.
* | gallium: Generalize the alignment macros to other compilers and any alignment.José Fonseca2010-01-1210-32/+39
| |
* | gallium: remove PIPE_TEX_FILTER_ANISOLuca Barbieri2010-01-061-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes PIPE_TEX_FILTER_ANISO. Anisotropic filtering is enabled if and only if max_anisotropy > 1.0. Values between 0.0 and 1.0, inclusive, of max_anisotropy are to be considered equivalent, and meaning to turn off anisotropic filtering. This approach has the small drawback of eliminating the possibility of enabling anisotropic filter on either minification or magnification separately, which Radeon hardware seems to support, is currently support by Gallium but not exposed to OpenGL. If this is actually useful it could be handled by splitting max_anisotropy in two values and adding an appropriate OpenGL extension. NOTE: some fiddling & reformatting by keithw to get this patch to apply. Hopefully nothing broken in the process.
* | Merge commit 'origin/gallium-draw-retval'Keith Whitwell2010-01-051-10/+8
|\ \ | | | | | | | | | | | | Conflicts: src/gallium/drivers/identity/id_context.c
| * | gallium: propagate draw retval changes into cell driverRoland Scheidegger2009-12-231-10/+8
| | |
* | | Remove TGSI_OPCODE_SHR, map existing usage to TGSI_OPCODE_ISHR.Michal Krol2010-01-051-1/+1
| | | | | | | | | | | | This is to differentiate it from its unsigned version, TGSI_OPCODE_USHR.
* | | gallium: add geometry shader support to galliumZack Rusin2009-12-253-6/+6
| |/ |/|
* | Merge branch 'gallium-edgeflags'Roland Scheidegger2009-12-221-10/+0
|\ \ | |/ |/| | | | | Conflicts: src/mesa/state_tracker/st_draw.c
| * gallium: fix up drivers for edgeflag changesRoland Scheidegger2009-12-191-10/+0
| | | | | | | | | | several drivers which chose to ignore edgeflags might require some more work, while edgeflags never worked there they might now crash.
* | Move the remaining format pf_get_* functions to u_format.h.Michal Krol2009-12-171-10/+10
| | | | | | | | | | Previously they depended on format blocks, but after removing those they started depending on format encoding.
* | Merge branch 'master' into pipe-format-simplifyMichal Krol2009-12-173-18/+16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/auxiliary/draw/draw_pipe_pstipple.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_gen_mipmap.c src/gallium/auxiliary/util/u_surface.c src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c src/gallium/drivers/cell/ppu/cell_texture.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/r300/r300_emit.c src/gallium/drivers/r300/r300_texture.c src/gallium/drivers/softpipe/sp_texture.c src/gallium/drivers/softpipe/sp_tile_cache.c src/gallium/drivers/svga/svga_state_vs.c src/gallium/include/pipe/p_format.h src/gallium/state_trackers/dri/dri_drawable.c src/gallium/state_trackers/egl/egl_surface.c src/gallium/state_trackers/python/p_device.i src/gallium/state_trackers/python/st_softpipe_winsys.c src/gallium/state_trackers/vega/api_filters.c src/gallium/state_trackers/vega/image.c src/gallium/state_trackers/vega/mask.c src/gallium/state_trackers/vega/paint.c src/gallium/state_trackers/vega/renderer.c src/gallium/state_trackers/vega/vg_tracker.c src/gallium/state_trackers/xorg/xorg_crtc.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/state_trackers/xorg/xorg_exa.c src/gallium/state_trackers/xorg/xorg_renderer.c src/gallium/state_trackers/xorg/xorg_xv.c src/gallium/state_trackers/xorg/xvmc/surface.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_buffer.c src/gallium/winsys/egl_xlib/sw_winsys.c src/gallium/winsys/g3dvl/xlib/xsp_winsys.c src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c src/gallium/winsys/gdi/gdi_softpipe_winsys.c src/gallium/winsys/xlib/xlib_cell.c src/gallium/winsys/xlib/xlib_llvmpipe.c src/gallium/winsys/xlib/xlib_softpipe.c src/mesa/state_tracker/st_cb_fbo.c src/mesa/state_tracker/st_cb_texture.c src/mesa/state_tracker/st_texture.c
| * cell: use boolean instead of boolRoland Scheidegger2009-12-081-1/+1
| |
| * Merge branch 'gallium-strict-aliasing'Roland Scheidegger2009-12-081-3/+3
| |\
| | * gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safeRoland Scheidegger2009-12-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | use pointer to union instead of void pointer. gcc complained a lot, depending what the pointer originally actually was. Looks like it's in fact maybe legal to cast for instance uint pointers to union pointers as long as union contains a uint type, hence use this with some callers, other just use union util_color in the first place.
| * | Merge branch 'gallium-noblocks'Roland Scheidegger2009-12-041-16/+14
| |\ \ | | |/ | |/| | | | | | | Conflicts: src/gallium/state_trackers/xorg/xorg_exa.c
| | * gallium: adapt drivers to interface cleanupsRoland Scheidegger2009-12-021-16/+14
| | |
* | | Move pf_get_bits/size() to u_format auxiliary module.Michal Krol2009-12-031-2/+4
|/ /
* | cell: fix TGSI breakageBrian Paul2009-12-021-1/+1
| |
* | Merge commit 'origin/tgsi-simplify-ext'Keith Whitwell2009-12-013-160/+160
|\ \ | | | | | | | | | | | | Conflicts: src/gallium/drivers/r300/r300_vs.c
| * | tgsi: rename fields of tgsi_full_src_register to reduce verbosityKeith Whitwell2009-11-243-30/+30
| | | | | | | | | | | | | | | | | | | | | SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
| * | tgsi: rename fields of tgsi_full_dst_register to reduce verbosityKeith Whitwell2009-11-242-16/+16
| | | | | | | | | | | | | | | DstRegister -> Register DstRegisterInd -> Indirect
| * | tgsi: rename fields of tgsi_full_declaration to reduce verbosityKeith Whitwell2009-11-242-4/+4
| | | | | | | | | | | | DeclarationRange -> Range
| * | tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosityKeith Whitwell2009-11-242-119/+119
| | | | | | | | | | | | | | | | | | | | | | | | InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
* | | cell: Update for renamed sampler/texture state setters.Michal Krol2009-12-011-2/+2
| |/ |/|
* | gallium: fix more statetrackers/drivers for not using texture ↵Roland Scheidegger2009-11-262-18/+16
|/ | | | width/height/depth arrays
* gallium: remove extended negate also, and also the ExtSwz tokenKeith Whitwell2009-10-231-46/+0
| | | | | | Likewise, the extended negate functionality hasn't been used since mesa switched to using tgsi_ureg to build programs, and has been translating the SWZ opcode internally to a single MAD.
* cell: typo from ExtSwizzle commitKeith Whitwell2009-10-231-1/+1
|
* gallium: remove the swizzling parts of ExtSwizzleKeith Whitwell2009-10-233-79/+14
| | | | | | | | | These haven't been used by the mesa state tracker since the conversion to tgsi_ureg, and it seems that none of the other state trackers are using it either. This helps simplify one of the biggest suprises when starting off with TGSI shaders.
* gallium: remove noise opcodesKeith Whitwell2009-10-231-16/+0
| | | | | | | | | | | Provide a dummy implementation in the GL state tracker (move 0.5 to the destination regs). At some point, a motivated person could add a better implementation of noise. Currently not even the nvidia binary drivers do anything more than this. In any case, the place to do this is in the GL state tracker, not the poor driver.
* Merge branch 'mesa_7_6_branch' of ↵Alex Deucher2009-10-221-2/+2
|\ | | | | | | git+ssh://[email protected]/git/mesa/mesa
| * cell: fix compilation on cellMarc Dietrich2009-10-201-2/+2
| | | | | | | | s/LERP/LRP/
* | gallium: Preparations for adding more PIPE_TRANSFER_* usage flags.Michel Dänzer2009-10-021-14/+4
| | | | | | | | | | | | Always test for PIPE_TRANSFER_READ/WRITE using the bit-wise and operator, and add a pipe_transfer_buffer_flags() helper for getting the buffer usage flags corresponding to them.
* | gallium: Update vendor string.José Fonseca2009-09-231-1/+1
| |
* | gallium: Deprecate PIPE_CAP_S3TC.José Fonseca2009-09-161-2/+0
|/ | | | | No longer used. S3TC support is queried via pipe_screen::is_format_supported.
* tgsi: remove redundant CND0 opcodeKeith Whitwell2009-09-011-4/+0
| | | | Can be implemented with CMP src2, src1, src0
* cell: fix compilationMarc Dietrich2009-08-302-4/+4
|
* cell: fix incorrect pipe_transfer testsBrian Paul2009-08-171-2/+4
| | | | The value is an enum, not a bitmask.
* gallium: Move minify() to u_math.Corbin Simpson2009-08-071-7/+0
| | | | | minify() is usually used in mipmap size calculation. Strangely enough, we all defined it as MAX2(1, d >> 1); imagine that. :3
* Rename TGSI LOOP instruction to better match theri usage.Michal Krol2009-07-312-6/+6
| | | | | | | | The LOOP/ENDLOOP pair is renamed to BGNFOR/ENDFOR as its behaviour is similar to a C language for-loop. The BGNLOOP2/ENDLOOP2 pair is renamed to BGNLOOP/ENDLOOP as now there is no name collision.
* gallium: remove deprecated TGSI opcodesKeith Whitwell2009-07-231-12/+0
| | | | | | Various opcodes which can be implemented trivially with other TGSI opcodes, such as matrix multiplication and negation. These were not used by any state tracker or implemented by any of the drivers.
* cell: update TGSI_OPCODE_ casesBrian Paul2009-07-221-18/+8
|
* gallium: simplify tgsi_full_immediate structKeith Whitwell2009-07-221-2/+2
| | | | | | | | | | | | | Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.