| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
|
|
|
| |
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88930
Cc: 10.4 <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
(cherry picked from commit 6fd4a61ad6f19bcc8d693df6f84142ef7379509b)
|
|
|
|
|
|
|
|
|
| |
Unclear circumstances lead to undefined symbols on x86.
Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=536916
Cc: [email protected]
Reviewed-by: Ilia Mirkin <[email protected]>
(cherry picked from commit 32e98e8ef06f0bb6ad55f9fb5858be77c03367b0)
|
|
|
|
|
|
|
|
|
|
|
| |
The dri2_x11_add_configs_for_visuals() function happily matches a 32
bits EGLconfig with a 24 bits X visual. However it was passing 32bits
depth to xcb_put_image(), making X server unhappy:
https://github.com/apitrace/apitrace/issues/313#issuecomment-70571911
Cc: "10.4" <[email protected]>
(cherry picked from commit 11a955aef42730ab009490f03c03c54ed07db666)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since 8e7df519bd8556591794b2de08a833a67e34d526, we initialise all targets in
clover. This fixes bug 85380.
v2: Mention correct bug in commit message
Signed-off-by: Niels Ole Salscheider <[email protected]>
Reviewed-by: Tom Stellard <[email protected]>
Reviewed-by: Jan Vesely <[email protected]>
Reviewed-by: Francisco Jerez <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 4b94c3fc3136f8e5225956864dd13828c9b81d5f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change max_wm_threads to match the spec on CHV. The max number of
threads in 3DSTATE_PS is always programmed to 64 and the hardware
internally scales that depending on the GT SKU. So this doesn't
change the max number of threads actually used, but it does affect
the scratch space calculation.
On CHV the old value was too small, so the amount of scratch space
allocated wasn't sufficient to satisfy the actual max number of
threads used.
Cc: [email protected]
Reviewed-by: Kenneth Graunke <[email protected]>
Signed-off-by: Ville Syrjälä <[email protected]>
(cherry picked from commit 99754446abae254dab60f08a534cf3510ea25b0f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Restores proper immediate tearing swap behaviour for
OpenGL bufferswap under DRI3/Present.
Cc: "10.3 10.4" <[email protected]>
v2: Add Frank Binns signed off by for his original earlier
patch from April 2014, which is identical to this one, and
Chris Wilsons reviewed tag from May 2014 for that patch, ergo
also for this one.
v3: Incorporate comment about triple buffering as suggested
by Axel Davy, and reference to relevant spec provided by
Eric Anholt.
Signed-off-by: Frank Binns <[email protected]>
Signed-off-by: Mario Kleiner <[email protected]>
Reviewed-by: Chris Wilson <[email protected]>
Reviewed-by: Axel Davy <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
(cherry picked from commit 455d3036fab2c5da7e589644f12435fb104a69fc)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The _mesa_dlist_alloc() function is only guaranteed to return a pointer
with 4-byte alignment. On 64-bit systems which don't support unaligned
loads (e.g. SPARC or MIPS) this could lead to a bus error in the VBO code.
The solution is to add a new _mesa_dlist_alloc_aligned() function which
will return a pointer to an 8-byte aligned address on 64-bit systems.
This is accomplished by inserting a 4-byte NOP instruction in the display
list when needed.
The only place this actually matters is the VBO code where we need to
allocate a 'struct vbo_save_vertex_list' which needs to be 8-byte
aligned (just as if it were malloc'd).
The gears demo and others hit this bug.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88662
Cc: "10.4" <[email protected]>
Reviewed-by: José Fonseca <[email protected]>
(cherry picked from commit 53b01938ed864e2efaa9389b45e88284eebaaa63)
|
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the shader does indirect addressing on the constants,
we allocate a temporary constant buffer to which we copy
the constants from the app given user constants and
the constants filled in the shader.
This patch makes this buffer be allocated once.
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Signed-off-by: Tiziano Bacocco <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit f8a74410f16b8a01da329975d10b631cb2a928e5)
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit e0f75044c8d2793b6a5bd9832c57c5d199822486)
|
|
|
|
|
|
|
| |
Reviewed-by: Tiziano Bacocco <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit b9cbea9dbc75630061236c9858cbc0e2b5b18974)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Relative addressing needs the constant buffer to get all
the correct constants, even those defined by the shader.
The code to copy the shader constants to the constant buffer
was enabled only for debug build. Enable it always.
Cc: "10.4" <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
(cherry picked from commit a721987077ae22e0c373ea118113361aada2024e)
|
|
|
|
|
|
|
|
|
|
| |
Since constant indirect adressing is not allowed for ps,
we can remove our code to handle that.
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 4b7a9cfddb1b8b47aeb2b466f66973d962555542)
|
|
|
|
|
|
|
|
|
|
| |
relative adressing for constants is possible only for vs float
constants.
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 9690bf33d7af835eb36d9e4c5928ac8483ffeeaa)
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit bce94ce831492333dae1b85d4387c66fdbfabf57)
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 9e23b64c15927225042b8caf7fdc549194610051)
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 09eb1e901f4d8e8b18675eb92e5f43dcbd831501)
|
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit f19e699368405f5fe74efe7b483f032c1a2c69be)
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 3676ab02fbf14708c4aab94480d841003f33fcc7)
|
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 2b9f079ae3ebd1dcd50d1816d7835ec62f3a7782)
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit fdff111dc8ce95c554371ac5aaaf611aa497c0f8)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fix is that this line:
"src[s] = tx->regs.vT[s];" is wrong if s doesn't start from 0.
Instead access tx->regs.vT directly when needed.
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 7865210670a735f268044b0c388a4895bed1ea4c)
Conflicts:
src/gallium/state_trackers/nine/nine_shader.c
|
|
|
|
|
|
|
|
|
|
|
| |
Not filling them correctly results in bad padding and later crash.
Reviewed-by: David Heidelberg <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit b1259544e365c67ab60f0c67b7e6de6537cca793)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
texcoord for ps < 1_4 should clamp between 0 and 1 the values.
texcrd (texcoord ps 1_4) does not clamp and can be used with
two modifiers _dw and _dz that means the channels are divided
by w or z.
Implement those in shared code, since the same modifiers can be used
for texld ps 1_4.
v2: replace DIV by RCP + MUL
v3: Remove an useless MOV
Reviewed-by: Tiziano Bacocco <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 5399119fb1ea646880c5e8a54e4c7f789be4c574)
Conflicts:
src/gallium/state_trackers/nine/nine_shader.c
|
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 6378d749379f7fedd668148e09dd032b8ce9a212)
|
|
|
|
|
|
|
|
|
|
| |
This is wine (and windows) behaviour.
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 018407b5d8ce894815f940480c52e9791beb9e97)
|
|
|
|
|
|
|
|
| |
Signed-off-by: Axel Davy <[email protected]>
Signed-off-by: Tiziano Bacocco <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 3ca67f881040b4f3ecdf9b91a7f3f0bf51cf1544)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous implementation didn't work well with nested loops.
Instead of using several address registers, put a0 and aL
into normal registers, and copy them to one address register when
we need to use them.
Wine tests loop_index_test() and nested_loop_test() now pass correctly.
Fixes r600g crash while loading Bioshock -
bug https://bugs.freedesktop.org/show_bug.cgi?id=85696
Tested-by: David Heidelberg <[email protected]>
Reviewed-by: Tiziano Bacocco <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 6a8e5e48be0bad4606b2d5d7ba736a3d2a277c55)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We should take the absolute value of the input.
Also return -FLT_MAX instead of -Inf for an input of 0.
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit c9aa9a0addee01201d28a7bed10f7e320af591a1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the input's xyz are 0.0, the output
should be 0.0. This is due to the fact that
Inf * 0 = 0 for dx9. To handle this case,
cap the result of RSQ to FLT_MAX. We have
FLT_MAX * 0 = 0.
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit f5e8e3fb806ef8516a7bd5fabdce4cc24e4c9636)
|
|
|
|
|
|
|
|
|
|
|
|
| |
We should use the absolute value of the input as input to ureg_RSQ.
Moreover, an input of 0.0 should return FLT_MAX.
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 2487f7357449ee520a59f6d81506d297aca752f2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
POW doesn't match directly TGSI, since we should
take the absolute value of src0.
Fixes black textures in some games
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit c12f8c208882a7e9aac0c488c08ee1771ead5a0d)
|
|
|
|
|
|
|
|
| |
Cc: "10.4" <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
(cherry picked from commit e0dd9ca9854b27104176d961d5c8b37b1e0637e5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Let's say we have c1 and c2 declared in the shader and c0 given by the app
Then here we would have read c0, c1 and c2 given by the app, instead
of the correct c0, c1, c2.
This correction fixes several issues in some games.
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 53dc992f204678acb9af9d1b11c1be371400930c)
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to docs and Wine, these two vs outputs have
to be saturated.
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 9fb58a74a04df02904317acfbd383f53305eed67)
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit a21483818110a1b474ea140f7e279f5960be7f30)
|
|
|
|
|
|
|
|
|
|
|
|
| |
don't support integers
The shader code is already behaving as if they are floats when the the card doesn't support integers
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit d08c7b0b880a4d5afdeac4dd5b26e2ad1c10e9da)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Convert them to shader booleans at earlier stage.
Previous code is fine, but later patch will make
integers being converted at earlier stage, so do
the same for booleans
Reviewed-by: Tiziano Bacocco <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit d9d18fe39f7b4f628af23b78576e961fd452921f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds ATI1 and ATI2 support to nine.
They map to PIPE_FORMAT_RGTC1_UNORM and PIPE_FORMAT_RGTC2_UNORM,
but need special handling.
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Signed-off-by: Xavier Bouchoux <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 77f0ecf9cead20ee6f61149f66663258cebd6179)
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to msdn, we must act as if user didn't ask srgb if we don't
support it.
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit b0b5430322406a521b8a75468452ac5d4ce86750)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Buffers in the MANAGED pool are supposed to have the content in a ram buffer,
a copy in VRAM if there is enough memory (driver manages memory and decide when
to delete the buffer in VRAM).
This is not implemented properly in nine, and a VRAM copy is going to be created
when the RAM memory is filled, and the VRAM copy will get synced with the RAM
memory updates.
Due to some issues (in the implementation or in app logic), it can happen
we try to create a sampler view of the resource while we haven't created the
VRAM resource. This hack creates the resource when we hit this case, which prevents
crashing, but doesn't help with the resource content.
This fixes several games crashing at launch.
Acked-by: Axel Davy <[email protected]>
Acked-by: David Heidelberg <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Stanislaw Halik <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 82810d3b660dfeef53a18c0d48914783e2999b2a)
|
|
|
|
|
|
|
|
|
|
|
|
| |
While previous code was having the correct behaviour in general,
this new code is more readable (without checking all gallium formats
manually) and has a more defined behaviour for depth stencil resources.
Reviewed-by: Tiziano Bacocco <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 47280d777d33c8a78fb7286892071ef31c12f604)
|
|
|
|
|
|
|
| |
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
(cherry picked from commit 0abfb80dacf80c1f2d0a6a4142b9ab84695aa9e7)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implicit swapchains are destroyed when the device instance is
destroyed. However for non-implicit swapchains, it is not the case,
and the application can have kept an reference on the swapchain
buffers to reuse them.
Fixes problems with battle.net launcher.
Cc: "10.4" <[email protected]>
Tested-by: Nick Sarnie <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
(cherry picked from commit 0d2c22e64844e20f9a52bffe2b934079a4121886)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This->surfaces contains the surfaces associated to the levels
and faces. This->surfaces[6*Level] is what we want here,
since it gives us a face descriptor for the level 'Level'.
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Signed-off-by: Xavier Bouchoux <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 92321611787207f8f2c02a226c1370f85cb99573)
|
|
|
|
|
|
|
|
|
|
|
| |
Use same similar settings as u_sampler_view_default_template
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit 18c7e702262425759cafddf7cc6d58543d97d7b3)
|