#2828 closed task (fixed)
render GBRP10 in opengl client
Reported by: | Antoine Martin | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | major | Milestone: | 4.1 |
Component: | client | Version: | 3.0.x |
Keywords: | Cc: |
Description
Split from #1462
Attachments (2)
Change History (8)
comment:1 Changed 2 years ago by
Status: | new → assigned |
---|
comment:2 Changed 2 years ago by
Pretty much working as of r26945, just needs:
- 10-bit windows sometimes render with the same repeated pattern, 4 times over - some alignment problem?
- the byte-swapping code is super-slow, as it's done using a bytearray in python - should use cython and read / write
long
s at a time? - window icons? (also use 30-bit?)
comment:3 Changed 2 years ago by
The official OpenGL documentation on https://www.khronos.org/opengl/wiki/Pixel_Transfer says glPixelStore: GL_UNPACK_SWAP_BYTES has no effect on the memory order of components within a pixel, only on the order of bytes within components or indices.
It wasn't clear to me that this would do the byteswap for GL_UNSIGNED_SHORT
, but it does. Problem solved!
r26948 replaces the slow byte-swapping code with glPixelStorei(GL_UNPACK_SWAP_BYTES, True)
for BGR48
only.
Changed 2 years ago by
Attachment: | hack-r210.patch added |
---|
more correct handling of 10-bit data (hacked: free memleak included)
comment:5 Changed 2 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Correctly fixed in r26960: we have to use a csc step to convert to r210
.
It might be possible to bit-shift GBRP10
to GBRP16
using a shader, but this is beyond me.
comment:6 Changed 17 months ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2828
Issues:
RGBP2RGB_SHADER
?) - see Colour bit-wise shift in OpenGL shader GLSL