src/libGLESv2/formatutils.h


Log

Author Commit Date CI Message
Geoff Lang 5d601382 2014-07-22T15:14:06 Simplify formatutils.h by exposing the info structures. Removed all the separate query functions and simply expose the internal info structures. This reduces the number of std::map/std::set operations that were hidden behind the API. Moved the validation tables for ES3 format combinations and effective internal formats into validationES3.cpp so that formatutils.h only has generic GL format queries. BUG=angle:658 Change-Id: Ieb60d42b8eafcdb4f21dcbec130b39478ce5f7c5 Reviewed-on: https://chromium-review.googlesource.com/206835 Reviewed-by: Nicolas Capens <capn@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 493daf5a 2014-07-03T13:38:44 Update the format table to check support for filtering and rendering. Since filerability and renderability may depend on separate extensions, use functions to determine their support. Context now uses these functions to fill it's own TextureFormatCaps. BUG=angle:658 Change-Id: Ib4dc877ba7c24f84a3823fd5aa2e01a3b3621705 Reviewed-on: https://chromium-review.googlesource.com/206831 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 57f9b6d5 2014-06-04T16:46:37 Clean up generatemip.h. * Move "private" functions into generatemip.inl. * Use size_t for all dimensions. * Use uint8_t pointers instead of unsigned char pointers. BUG=angle:666 Change-Id: I8a1324802e4d670c042e0961c2b6f6fd53f4ebc7 Reviewed-on: https://chromium-review.googlesource.com/202503 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 86846e24 2014-06-03T15:48:54 Clean up the functions in loadimage.h/cpp. * Capitalize the function names to fit the style guide. * Use explicit sizes in the function names to avoid any confusion about input or output sizes. * Use explicit sized types in the functions to avoid potential issues on new platforms since a lot of bit-twiddling is used. * Use size_t for all sizes. * Use uint8_t for all binary data for input and output data so that pointer arithmetic is much easier. * Move templated function definitions into an .inl file so that loadimage.h looks as clean as possible. BUG=angle:665 Change-Id: Id7173ed66d9e1b7ee3261eea11e77d838cbd2951 Reviewed-on: https://chromium-review.googlesource.com/202590 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e4a492be 2014-06-19T14:14:41 Remove the clientVersion parameter from the format utils. clientVersion was only useful for intitial validation of formats and not required for queries. Only use the client version and caps structure to validate if a format is available and then trust that it is supported past the validation layer. Fixed some inconsistancies between tables such as missing formats or incorrect load functions in the ES3 tables. BUG=angle:659 Change-Id: I8d33c902156ee6fb41efe937d93b0586191726e5 Reviewed-on: https://chromium-review.googlesource.com/201167 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f51639a4 2014-06-25T16:04:57 Use a common include for GL headers. A common place to define required GL includes gives us a nice point to centralize GL customizations. In the header currently are the basic GLES headers with extensions, and a define carried over from desktop GL. BUG=angle:466 Change-Id: I6fc61947b4514654ec21355a786904eac04656c0 Reviewed-on: https://chromium-review.googlesource.com/204936 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Geoff Lang cec3590a 2014-04-16T10:52:36 Use a Caps structure to store extension and texture format support. Removes support for fallbacks in D3D9 texture formats. The fallback formats did not work properly anyways. BUG=angle:658 Change-Id: Idfa5183bf71fd8ebf4608f940f9d93177b9eff08 Reviewed-on: https://chromium-review.googlesource.com/200813 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang d7e7d735 2014-05-27T16:10:46 Move the GL_APICALL and similar defines to the project level. BUG=angle:658 Change-Id: Ib4fa10bb89a6658efbc20d5a763d8ec9c3a5506f Reviewed-on: https://chromium-review.googlesource.com/201465 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shannon Woods 4d161bad 2014-03-17T18:13:30 Amends CopyTexImage validation to conform to new language in the ES 3.0.3 spec. bug=angle:582 Also performs format checks for non-subimage copies, and permits unsized format textures as destination for the copy. Change-Id: Id647bb968416fbd35e1c70e5da21c81367e08f07 Reviewed-on: https://chromium-review.googlesource.com/189431 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 80177879 2014-02-04T16:04:10 Move D3D9 vertex format tables to formatutils9. Vertex format information is useful for querying format properties with the new vertex translation logic with dynamic shaders. Change-Id: I1935c75f1e3920dc1d4a364a2d6968c82692e476 Reviewed-on: https://chromium-review.googlesource.com/184520 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Jamie Madill 7ab02faf 2014-02-04T16:04:08 Add D3D11 vertex format tables to our format utils. Moving the vertex format information to a globally accessible helper file makes them available for the dynamic shaders logic. Change-Id: I67d6280c0603d9c601ca504751c8905677c2426f Reviewed-on: https://chromium-review.googlesource.com/184399 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 0c99b1b0 2013-09-30T15:07:43 Add functions to check if texture data initialization is required. Change-Id: I54c3b90780c304d6001b9e52278672981c96cb83 Reviewed-on: https://chromium-review.googlesource.com/176853 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 005df41f 2013-10-16T14:12:50 Use GLenum instead of GLint to store internal format variables. TRAC #23785 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods
Jamie Madill 0e0510fd 2013-10-10T15:46:23 Place the method responsible for checking for fast pixel unpack buffer support into the Renderer. TRAC #23997 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods
Jamie Madill 89a0bf50 2013-09-18T14:36:24 Add initial implementation for PixelTransfer11, which will enable GPU buffer to texture and texture to buffer copies. This is necessary for fast implementation of ES3 PBOs. TRAC #23841 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods
Jamie Madill 3466a4d0 2013-09-18T14:36:20 Add a helper method to return the number of components in a texture format. TRAC #23841 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods
Geoff Lang b2f3d05c 2013-08-13T12:49:27 Replaced the custom component type and SRGB bool with GLenums. TRAC #23474 Author: Geoff Lang Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods
Geoff Lang f23eb28c 2013-07-22T10:52:19 Cache the index ranges at the gl::Buffer and rx::IndexBuffer levels so that ranges do not need to be re-calculated for direct buffers. Issue #451 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang
Geoff Lang fe28ca06 2013-06-04T10:10:48 Added table entries for reading colors from D3D and DXGI formats and writing colors to format/type combinations. TRAC #23256 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang
shannonwoods@chromium.org e81ea50b 2013-05-30T00:16:53 Added a function to determine if an internal format is SRGB. TRAC #23046 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2379 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org ffab47de 2013-05-30T00:16:22 Added validation for CopyTexImage with integer textures. TRAC #23049 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2375 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org e19409b5 2013-05-30T00:16:15 Added helper functions for determining if an internal format is an integer or floating point format. TRAC #23049 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2374 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannonwoods@chromium.org b8490f3c 2013-05-30T00:08:00 Created new helper functions for converting texture formats, loading images and generating mipmaps." TRAC #22972 Signed-off-by: Jamie Madill Signed-off-by: Nicolas Capens Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2313 736b8ea6-26fd-11df-bfd4-992fa37f6226