summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* st/nine: Refactor LightEnableAxel Davy2016-12-203-24/+40
| | | | | | Call a helper function. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Refactor SetLightAxel Davy2016-12-203-20/+35
| | | | | | Call a helper function to set the light. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Put ff data in a separate structureAxel Davy2016-12-205-36/+38
| | | | | | | | | | And make nine_state_access_transform take this new structure as input. Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Back viewport to nine_contextAxel Davy2016-12-204-10/+39
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Back scissor to nine_contextAxel Davy2016-12-203-7/+38
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Back RT to nine_contextAxel Davy2016-12-204-25/+54
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Back current index buffer to nine_contextAxel Davy2016-12-203-7/+44
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Back all shader constants to nine_contextAxel Davy2016-12-204-226/+411
| | | | | | | | | | For device vs shader float constants and may_swvp, the same tips than for the other constant types is used. Also memset the constants properly. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Back sampler states to nine_contextAxel Davy2016-12-204-38/+82
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Back vs to nine_contextAxel Davy2016-12-205-41/+71
| | | | | | | | | And move programmable_vs storage and computation. Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Back vdecl to nine_contextAxel Davy2016-12-207-27/+55
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Move stream freq data to nine_contextAxel Davy2016-12-204-19/+46
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Move vtxbuf to nine_contextAxel Davy2016-12-204-31/+86
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Move stream_usage_mask to nine_contextAxel Davy2016-12-202-4/+5
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Back textures into nine_contextAxel Davy2016-12-208-21/+40
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Move texture setting to nine_context_*Axel Davy2016-12-206-28/+68
| | | | | | | | | And move samplers_shadow to nine_context. Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Track changed.texture only for stateblocksAxel Davy2016-12-205-10/+4
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Move draw calls to nine_stateAxel Davy2016-12-209-251/+388
| | | | | | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. v2: Release buffers for Draw*Up functions in device9.c, instead of nine_context. This prevents a leak with csmt where the wrong pointers were released. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Move core of device clear to nine_stateAxel Davy2016-12-203-141/+160
| | | | | | | | Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Introduce nine_contextAxel Davy2016-12-207-148/+163
| | | | | | | | | | | nine_context is a new structure which goal will be to contain all internal states. It will be the states of the second thread in the to-be-introduced CSMT mode. This patch moves several internal states to nine_context, while the next patches add the other fields. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Implement WFOG properlyAxel Davy2016-12-201-7/+35
| | | | | | | | We were advertising support for WFOG (like all win drivers), but we weren't implementing it. This patch implements the behaviour. See comments. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix ff texture coordinate selectionAxel Davy2016-12-201-4/+5
| | | | | | | | The code was wrongly detecting which texture coordinates to generate when the coordinate index was different to the stage index. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Convert redundant check to assert in ff psAxel Davy2016-12-201-2/+3
| | | | | | We disable the alpha stage if the color stage is disabled. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix two special cases in ff psAxel Davy2016-12-201-0/+20
| | | | | | | | | | if first alpha stage is disabled and writes to temp, diffuse alpha is written to temp. Last stage always writes to current. Behaviour was deduced by tests with a test app. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Remove useless code in ff psAxel Davy2016-12-201-5/+0
| | | | | | Current is already initialized to Diffuse. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix ff cases when stages should be disabledAxel Davy2016-12-201-6/+16
| | | | | | | | | | When a texture is read by a stage for colorop, it should be disabled, and disable following stages. When a texture is read for alphaop, 1.0f is read for the input, which is the behaviour for a dummy texture. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Always initialize current in ff psAxel Davy2016-12-201-24/+1
| | | | | | | The check was not catching all possible cases. NVE4 should be fine. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix check for ff specularAxel Davy2016-12-201-2/+7
| | | | | | | | | Fix the check for computing ff specular. This seems to match the opengl behavior, and give the correct output on windows. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Do not saturate illumination coefficients in ffAxel Davy2016-12-201-4/+0
| | | | | | | Fixes bad rendering of a test app. Wine has the same behaviour. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix ff COLOR0 w component computationAxel Davy2016-12-201-21/+10
| | | | | | | | | | The computation was wrong. COLOR0's last component should be equal to the material diffuse w component. The behaviour was checked with a test app on Windows. Wine has the same behaviour. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix specular enable for alphaAxel Davy2016-12-201-1/+1
| | | | | | | | | | | Apparently specular enable doesn't affect the alpha channel. Fixes https://github.com/iXit/Mesa-3D/issues/253 Behaviour comfirmed looking in wine sources. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Ignore MULTISAMPLEMASK when RT is not multisampledAxel Davy2016-12-202-3/+3
| | | | | | | | | We were ignoring MULTISAMPLEMASK for non-maskable multisample modes, but we were missing the non-multisampled case. Fixes a crash in Halo. Signed-off-by: Axel Davy <[email protected]>
* driconf: Fix missing gettextAxel Davy2016-12-201-1/+1
| | | | | | | DRI_CONF_NINE_OVERRIDEVENDOR was missing gettext for the description. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add new driconf options to control DISCARD behaviourAxel Davy2016-12-204-2/+31
| | | | | | See the patch for the new controls added. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Rework buffer presentation pathAxel Davy2016-12-201-48/+132
| | | | | | Use the new API for DISCARD. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix a leak in Swapchain dtorAxel Davy2016-12-202-16/+16
| | | | | | | | Count properly the number of backbuffers, and use the new info to release the correct number of buffers Signed-off-by: Axel Davy <[email protected]>
* st/nine: Silent warnings with guid_strAxel Davy2016-12-203-0/+12
| | | | | | | In non-debug build, the variables are unused, and thus trigger a compilation warning. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Do not generate gallium NOP on d3d NOPAxel Davy2016-12-201-1/+8
| | | | | | | Some drivers crash if NOP is generated. Besides there is no point to generate NOP. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix leak in user constant upload pathAxel Davy2016-12-202-29/+39
| | | | | | | The new code properly releases the previous buffers allocated. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Correctly release sw cursor imageAxel Davy2016-12-201-0/+1
| | | | | | | cursor.image is used for software cursor emulation. It wasn't released. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Handle when cursor stride is not what is expectedAxel Davy2016-12-202-2/+19
| | | | | | | | SetCursor assumes for now a 32x32 argb cursor with pitch 128. 32x32 argb doesn't have pitch 128 on all hw, thus use a temporary surface with the correct pitch when needed. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Avoid crash on empty Draw*UpAxel Davy2016-12-201-0/+2
| | | | | | | | Ignore empty draw calls. Avoid assertion fault when such draw calls happen in u_upload_mgr. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Capture texturestage states in pixel stateblocksAxel Davy2016-12-201-1/+4
| | | | | | pixels stateblocks need to capture these. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add missing changed states to pixel stateblocksAxel Davy2016-12-201-1/+4
| | | | | | Some states were not properly recorded in pixel stateblocks. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add some debug info in stateblocksAxel Davy2016-12-201-0/+5
| | | | | | This is useful to check what is exactly recorded. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Remove useless check in surface9 ctorAxel Davy2016-12-201-4/+0
| | | | | | | Textures already have the check in BaseTexture9. Non-Textures cannot be in the MANAGED Pool. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix bad light initialization in stateblocksAxel Davy2016-12-201-2/+2
| | | | | | src was initialized instead of dst. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Remove unused ff.changed.groupAxel Davy2016-12-202-6/+0
| | | | | | It was unused. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix ps multisample checkAxel Davy2016-12-201-1/+1
| | | | | | | We want to use centroid for nonmaskable multisampling as well. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix useless swapchain init checksAxel Davy2016-12-201-14/+7
| | | | | | | In NineDevice9_SetDefaultState we can assume the implicit swapchain is properly initialized. Signed-off-by: Axel Davy <[email protected]>