summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* st/nine: Encapsulate variables for MANAGED resourceAxel Davy2015-04-2910-57/+60
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Rework texture data allocationAxel Davy2015-04-297-37/+131
| | | | | | | | | | | | Some applications assume the memory for multilevel textures is allocated per continuous blocks. This patch implements that behaviour. v2: cache offsets Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix update_vertex_elements bad rebaseAxel Davy2015-04-291-3/+0
| | | | | | | | This code was supposed to be removed, but a rebase seems to have made it stay. Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add debug warning when application uses sw processingAxel Davy2015-04-296-7/+27
| | | | | Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* st/nine: Rework update_vertex_buffersAxel Davy2015-04-291-11/+4
| | | | | | | | | | | | | | | | Previous code was trying to optimise to call set_vertex_buffers on big packets, and thus avoids as many calls as possible. However in practice doing so won't be faster (drivers implement set_vertex_buffers by a loop over the buffers we want to bind) When we want to unbind a buffer, we were calling set_vertex_buffers on a buffer with vtxbuf->buffer = NULL. It works on some drivers, but not on all of them, because it isn't in Gallium spec. This patch fixes that. Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix computation of const_used_sizeXavier Bouchoux2015-04-291-3/+6
| | | | | | | Was sometimes too large for PS. Reviewed-by: Axel Davy <[email protected]> Signed-off-by: Xavier Bouchoux <[email protected]>
* gallium/svga: Remove useless ARRAY_SIZE declarationAxel Davy2015-04-291-4/+0
| | | | | | | This is already declared in util/macros.h Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* util/macros: Move DIV_ROUND_UP to util/macros.hAxel Davy2015-04-291-2/+0
| | | | | | | Move DIV_ROUND_UP to a shared location accessible everywhere Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix behaviour of D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDINGXavier Bouchoux2015-04-291-1/+2
| | | | | | | | | | Ignore D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING when D3DUSAGE_RENDERTARGET is not specified. This behaviour matches windows drivers. Reviewed-by: Axel Davy <[email protected]> Signed-off-by: Xavier Bouchoux <[email protected]>
* st/nine: Improve D3DQUERYTYPE_TIMESTAMPXavier Bouchoux2015-04-291-2/+7
| | | | | | | | | | | Avoid blocking when retrieving D3DQUERYTYPE_TIMESTAMP result with NineQuery9_GetData(), when D3DGETDATA_FLUSH is not specified. This mimics Win behaviour and gives slightly better performance for some games. Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Axel Davy <[email protected]> Signed-off-by: Xavier Bouchoux <[email protected]>
* st/nine: Fix D3DQUERYTYPE_TIMESTAMPFREQ queryXavier Bouchoux2015-04-291-1/+9
| | | | | | | | | | | | | | D3DQUERYTYPE_TIMESTAMPFREQ is supposed to give the frequency at which the clock of D3DQUERYTYPE_TIMESTAMP runs. PIPE_QUERY_TIMESTAMP returns a value in ns, thus the corresponding frequency is 1000000000. PIPE_QUERY_TIMESTAMP_DISJOINT returns the frequency at which PIPE_QUERY_TIMESTAMP value is updated. It isn't always 1000000000. Reviewed-by: Axel Davy <[email protected]> Signed-off-by: Xavier Bouchoux <[email protected]>
* st/nine: Change x86 FPU Control word on device creationTiziano Bacocco2015-04-291-0/+31
| | | | | | | | | As on wined3d and windows, when D3DCREATE_FPU_PRESERVE is not specified, change the fpu control word to all exceptions masked, single precision, round to nearest. Signed-off-by: Axel Davy <[email protected]> Signed-off-by: Tiziano Bacocco <[email protected]>
* st/nine: Do not advertise D3DDEVCAPS_TEXTURESYSTEMMEMORYAxel Davy2015-04-292-9/+3
| | | | | | | No major vendor advertises it, and we weren't supporting it. Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix comment in update_viewportAxel Davy2015-04-291-3/+2
| | | | | Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* st/nine: Workaround barycentrics issue on some cardsAxel Davy2015-04-293-1/+31
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Clear struct pipe_blit_info before use.Xavier Bouchoux2015-04-292-0/+4
| | | | | | | | render_condition_enable was uninitialized. Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Axel Davy <[email protected]> Signed-off-by: Xavier Bouchoux <[email protected]>
* st/nine: NineDevice9_Clear skip fastpath for bigger depth-buffersPatrick Rudolph2015-04-291-4/+13
| | | | | | | | | | | | This adds an additional check to make sure the bound depth-buffer doesn't exceed the rendertarget size when clearing depth and color buffer at once. D3D9 clears only a rectangle with the same dimensions as the viewport, leaving other parts of the depth-buffer intact. This fixes failing WINE test visual.c:depth_buffer_test() Signed-off-by: Patrick Rudolph <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix wrong assert in nine_shaderAxel Davy2015-04-291-4/+4
| | | | | | | The sampler src index was wrong for texldl and texldd Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* st/nine: Handle special LIT caseAxel Davy2015-04-291-1/+18
| | | | | Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* nvc0/ir: flush denorms to zero in non-compute shadersIlia Mirkin2015-04-282-1/+25
| | | | | | | | | | | | This will set the FTZ flag (flush denorms to zero) on all opcodes that can take it. This resolves issues in Unigine Heaven 4.0 where there were solid-filled boxes popping up. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89455 Cc: "10.4 10.5" <[email protected]> Signed-off-by: Ilia Mirkin <[email protected]>
* nvc0: expose GLSL version 410Ilia Mirkin2015-04-281-1/+1
| | | | Signed-off-by: Ilia Mirkin <[email protected]>
* st/va: add h264 decoder level supportLeo Liu2015-04-281-0/+5
| | | | | Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/omx/dec: add h264 decoder level supportLeo Liu2015-04-281-3/+7
| | | | | | | v2: use sps level idc as level to driver Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]>
* vl: add level idc in spsLeo Liu2015-04-281-0/+1
| | | | | Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/omx/dec: separate create_video_codec to different codecsLeo Liu2015-04-284-18/+30
| | | | | | | v2: get frame size from port info Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/vdpau: add h264 decoder level supportLeo Liu2015-04-281-0/+5
| | | | | Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]>
* gallium/util: get h264 level based on number of max references and resolutionLeo Liu2015-04-281-0/+36
| | | | | | | | v2: add commments for limitation of max references numbers, and what the caculation is based Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g,radeonsi: add a driver query returning GPU loadMarek Olšák2015-04-288-2/+194
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g,radeonsi: add driver queries for GPU temperature and shader+memory clocksMarek Olšák2015-04-285-3/+58
| | | | Reviewed-by: Alex Deucher <[email protected]>
* gm107/ir: add lane/vertex count sysvalsIlia Mirkin2015-04-271-0/+2
| | | | Signed-off-by: Ilia Mirkin <[email protected]>
* gk110/ir: add support for writing per-patch and shader outputsIlia Mirkin2015-04-271-7/+3
| | | | Signed-off-by: Ilia Mirkin <[email protected]>
* freedreno/a3xx: color masking works like a blend for some formatsIlia Mirkin2015-04-271-0/+14
| | | | | | | | When there is a colormask active that does not cover all the channels, enable reading in the destination like with a combining blend operation. This fixes fbo-blending-formats on a3xx. Signed-off-by: Ilia Mirkin <[email protected]>
* freedreno/a3xx: add support for S8 and Z32F_S8Ilia Mirkin2015-04-279-44/+235
| | | | | | | | | Enables ARB_depth_buffer_float. There is no sampling support for interleaved Z32F_S8, so we store the two textures separately, one as Z32F, the other as S8. As a result, we need a lot of additional logic for restores and transfers. Signed-off-by: Ilia Mirkin <[email protected]>
* freedreno/a3xx: add Z32F supportIlia Mirkin2015-04-275-10/+65
| | | | | | | | | 32-bit depth buffers are stored as unorm, and thus need special handling when moving to and from gmem. They are copied into gmem by writing depth, and resolved from gmem using a special resolve bit which apparently float-ifies the data. Signed-off-by: Ilia Mirkin <[email protected]>
* freedreno: add fd_transfer to wrap around pipe_transferIlia Mirkin2015-04-273-2/+15
| | | | Signed-off-by: Ilia Mirkin <[email protected]>
* freedreno/a3xx: add support for disabling depth clippingIlia Mirkin2015-04-272-1/+3
| | | | Signed-off-by: Ilia Mirkin <[email protected]>
* softpipe: fix another stencil-as-float issueRoland Scheidegger2015-04-271-2/+2
| | | | | | | | | Hopefully this is the last one now (for texture X32_S8X24_UINT views). +4 piglits. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90167 Reviewed-by: Brian Paul <[email protected]>
* Fix a few typosZoë Blade2015-04-2724-26/+26
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* scons: add target osmesa using gallium state tracker.Olivier Pena2015-04-277-1/+110
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* radeonsi: set an optimal value for DB_Z_INFO.ZRANGE_PRECISIONMarek Olšák2015-04-271-7/+2
| | | | | | Required because of a VI hw bug. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: remove deprecated and useless registersMarek Olšák2015-04-271-10/+0
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: remove useless includesMarek Olšák2015-04-271-3/+0
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* gallium/radeon: print winsys info with R600_DEBUG=infoMarek Olšák2015-04-272-0/+28
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* winsys/radeon: make radeon_bo_vtbl staticMarek Olšák2015-04-271-2/+2
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* gallium/hud: add more options to customize HUD panesGediminas Jakutis2015-04-262-6/+161
| | | | | | | | | | | | | | | | Extends the syntax of GALLIUM_HUD environment variable to: - Add options to set the size and exact location of each pane. - Add an option to limit the maximum allowed value of the X axis on a pane, clamping the graph down to not go above this value. - Add an option to auto-adjust the value of the Y axis down to the highest value still visible on the graph. v2: - Make the patch simpler and smaller. - With dynamic auto-adjusting on, adjust the Y axis once per pane update instead of updating once every several seconds. - No longer mishandle pane height when having more than one graph per pane.
* os/os_memory_aligned.h: Handle integer overflow.Jose Fonseca2015-04-231-1/+27
| | | | | | | | | | | This code is only used when our memory debugging wrappers are enabled, as we use the C runtime functions directly elsewhere. Tested llvmpipe on Windows w/ memory debugging enabled. VMware PR894263. Reviewed-by: Roland Scheidegger <[email protected]>
* draw: fix prim ids when there's no gsRoland Scheidegger2015-04-233-2/+15
| | | | | | | | | | | | | | | We were resetting the prim id count for each run of the prim assembler, hence this only worked when the draw calls were very small (the exact limit depending on the vertex size), since larger draw calls get split up. So, do the same as we do already if there's a gs, reset it to zero explicitly for every new instance (this possibly could use the same variable but that isn't doable without some heavy refactoring and I'm not sure it makes sense). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90130. Reviewed-by: Jose Fonseca <[email protected]> CC: <[email protected]>
* gallium/radeon: don't crash when getting out-of-bounds TEMP referencesMarek Olšák2015-04-231-0/+6
| | | | Reviewed-by: Tom Stellard <[email protected]>
* softpipe: fix stencil write to use an integer valueDave Airlie2015-04-231-1/+1
| | | | | | | | | | | This fixes a number of regressions since 61393bdcdc3b63624bf6e9730444f5e9deeedfc8 u_tile: fix stencil texturing tests under softpipe Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89960 Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* freedreno: misc minor cleanupsRob Clark2015-04-223-9/+10
| | | | Signed-off-by: Rob Clark <[email protected]>