summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util/u_format.c
AgeCommit message (Collapse)Author
2010-09-17util: linearized sRGB values don't fit into 8bitsJosé Fonseca
Fixes glean texture_srgb test.
2010-09-05util: Helper function to determined whether two formats can be memcpy'ed.José Fonseca
These are the non-trivial conversions that this function recognizes, which was produced by u_format_compatible_test.c: b8g8r8a8_unorm -> b8g8r8x8_unorm a8r8g8b8_unorm -> x8r8g8b8_unorm b5g5r5a1_unorm -> b5g5r5x1_unorm b4g4r4a4_unorm -> b4g4r4x4_unorm l8_unorm -> r8_unorm i8_unorm -> l8_unorm i8_unorm -> a8_unorm i8_unorm -> r8_unorm l16_unorm -> r16_unorm z24_unorm_s8_uscaled -> z24x8_unorm s8_uscaled_z24_unorm -> x8z24_unorm r8g8b8a8_unorm -> r8g8b8x8_unorm a8b8g8r8_srgb -> x8b8g8r8_srgb b8g8r8a8_srgb -> b8g8r8x8_srgb a8r8g8b8_srgb -> x8r8g8b8_srgb a8b8g8r8_unorm -> x8b8g8r8_unorm r10g10b10a2_uscaled -> r10g10b10x2_uscaled r10sg10sb10sa2u_norm -> r10g10b10x2_snorm State trackers and pipe drivers should be updated to take advantage of this knowledge, e.g., in surface_copy.
2010-07-02util: Expose util_format_fits_8unorm().José Fonseca
2010-06-07util: allocate larger tmp_row in util_format_translateKeith Whitwell
The tmp_row storage allocation took into account the format's y block size by allocating y_step rows of data. However, the x block size was not being taken into account when deciding how wide those rows need to be. Now make sure that tmp_row is at least x_step by y_step in size.
2010-04-09util: Add missing break statement.José Fonseca
2010-04-09util: Add dedicated depth-stencil packing/unpacking functions.José Fonseca
Depth-stencil manually written given that each one is very close to be a special case. u_format_zs.c's still untested.
2010-04-08util: (Almost) universal format translation function.José Fonseca
Untested.
2010-04-03util: Revert unsolicited, untested, unreviewed, and broken changes to format ↵José Fonseca
support. Not all is bad, but I'm afraid I'll have to throw the baby with the water given they are all tied to together.
2010-04-02gallium/util: revert util_format_init additionLuca Barbieri
Putting calls to util_format_init all over the codebase is infeasible. Instead, half float tables are pregenerated, and the s3tc library is loaded on demand. I believe this is a solution that combines performance, cleanliness, flexibility and portability.
2010-04-02gallium/util: pregenerate half float tablesLuca Barbieri
This solution avoids the issue of how to run the initializers and also allows those pages (and the parts of them in processor caches) to be shared between multiple processes. The drawback is slightly higher library size.
2010-04-02gallium/util: add util_format_init that inits s3tc and util_halfLuca Barbieri
Switch from auto-init to explicit init for util_half per Brian Paul's indication. NOTE: this is probably broken because not enough things call util_format_init. Will be fixed shortly
2010-03-31util: Make the accessors bidimensional again.José Fonseca
Otherwise there's no way to unpack blocks with height >1
2010-03-31util: Use u_format_pack.py's code instead of u_format_access.py.José Fonseca
2010-02-24util: Cope with the fact that formats in u_format.csv are not ordered.José Fonseca
2009-12-08util/format: Take advantage of sequential nature of pipe_format enum.Michal Krol
Make sure the format descriptor table can be indexed directly.
2009-08-29util: Pixel format database.José Fonseca
There are some inconsistencies in pipe_format, but above all, there simply aren't enough bits in an enum to conveniently store all information about a pixel format we need to be able to dynamically generate pixel packing/unpacking code.