summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* st/nine: Reimplement nine_context_apply_stateblockAxel Davy2016-12-201-0/+206
| | | | | | | | | | | | The new version uses nine_context functions instead of applying the changes directly to nine_context. This will enable it to work with CSMT. v2: Fix nine_context_light_enable_stateblock The memcpy arguments were wrong, and the state wasn't set dirty. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Decompose nine_context_set_textureAxel Davy2016-12-201-25/+48
| | | | | | | | 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: Decompose nine_context_set_indicesAxel Davy2016-12-201-8/+24
| | | | | | | | 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: Decompose nine_context_set_stream_sourceAxel Davy2016-12-201-9/+25
| | | | | | | | 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: Do not use NineBaseTexture9 in nine_contextAxel Davy2016-12-205-41/+71
| | | | | | | Some fields are subject to modification outside of nine_context (SetLod, etc). Signed-off-by: Axel Davy <[email protected]>
* st/nine: Move Managed Pool handling out of nine_contextAxel Davy2016-12-202-32/+57
| | | | | | | | 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: Integrate nine_pipe_context_clear to nine_context_clearAxel Davy2016-12-206-33/+28
| | | | | | | | 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 pipe and cso to nine_contextAxel Davy2016-12-206-75/+101
| | | | | | | | 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: Rename pipe to pipe_data in nine_contextAxel Davy2016-12-203-56/+56
| | | | | | | This patch it to avoid name conflict when device->pipe will be moved to nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Rename cso in nine_context to cso_shaderAxel Davy2016-12-204-11/+11
| | | | | | | This patch it to avoid name conflict when device->cso is moved to nine_context. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Access pipe_context via NineDevice9_GetPipeAxel Davy2016-12-2015-63/+84
| | | | | | Except for nine_ff and nine_state. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Remove NineDevice9_GetCSOAxel Davy2016-12-204-11/+0
| | | | | | | Was useless. Remove useless usage in swapchain9. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Move query9 pipe calls to nine_contextAxel Davy2016-12-203-15/+67
| | | | | | This will enable to use threading for them. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Use atomics for nine_bindAxel Davy2016-12-201-2/+3
| | | | | | | | | nine_bind didn't need atomics up to now, because it's use what always within a protected mutex. We need to use atomics because with the next patches several threads may use nine_bind. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Track dirty state groups in nine_contextAxel Davy2016-12-206-106/+81
| | | | | | | | 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 User Clip Planes 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 ps to nine_contextAxel Davy2016-12-204-30/+59
| | | | | | | | 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 ds to nine_contextAxel Davy2016-12-203-14/+31
| | | | | | | | 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 ff states in nine_contextAxel Davy2016-12-206-107/+267
| | | | | | | | 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: 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]>