src/libANGLE/renderer/d3d/d3d11/load_functions_table.h


Log

Author Commit Date CI Message
John Bauman 0ecb18b9 2016-02-03T13:40:37 Avoid a copy in TextureStorage11::setData This is essentially a reland of 9cf9bcbecaa1e54a47a92eb784e7f591f7b65c57 This code always allocates a new memory buffer for the texture memory, picks a load function to copy/convert the input data into it, and the uploads. In the case where the input format matches the upload format we should be able to skip the allocation and copy and be much happier. Change-Id: If4281aeb4cd7bbbebba60122a10610a916833052 Reviewed-on: https://chromium-review.googlesource.com/326852 Tryjob-Request: John Bauman <jbauman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: John Bauman <jbauman@chromium.org>
Jamie Madill 3a913264 2016-02-06T01:34:25 Revert "Avoid a copy in TextureStorage11::setData" Fails on the Windows builders: https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/42201 e:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\libangle\renderer\d3d\d3d11\load_functions_table_autogen.cpp(787) : error C2440: 'return' : cannot convert from 'const std::map<GLenum,rx::LoadImageFunction,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>' to 'const std::map<GLenum,rx::d3d11::LoadImageFunctionInfo,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>> &' with [ _Kty=GLuint , _Ty=rx::LoadImageFunction ] and [ _Kty=GLuint , _Ty=rx::d3d11::LoadImageFunctionInfo ] Reason: cannot convert from 'const std::map<GLenum,rx::LoadImageFunction,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>' to 'const std::map<GLenum,rx::d3d11::LoadImageFunctionInfo,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>' with [ _Kty=GLuint , _Ty=rx::LoadImageFunction ] and [ _Kty=GLuint , _Ty=rx::d3d11::LoadImageFunctionInfo ] No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called This reverts commit 52d3e43b66478b07d26c95a5511d4132cec26000. Change-Id: I83774ea09ccbb2b92ff609714e1c7201beb775bc Reviewed-on: https://chromium-review.googlesource.com/326540 Reviewed-by: Jamie Madill <jmadill@chromium.org>
John Bauman 52d3e43b 2016-02-03T13:40:37 Avoid a copy in TextureStorage11::setData This is essentially a reland of 9cf9bcbecaa1e54a47a92eb784e7f591f7b65c57 This code always allocates a new memory buffer for the texture memory, picks a load function to copy/convert the input data into it, and the uploads. In the case where the input format matches the upload format we should be able to skip the allocation and copy and be much happier. Change-Id: I3c1a0ab34be91c7d39eb2d0866029d01352b6056 Reviewed-on: https://chromium-review.googlesource.com/325526 Tryjob-Request: John Bauman <jbauman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jacek Caban b2e2425a 2015-10-05T16:03:10 Fixed compilation on mingw. BUG=angleproject:1184 This is reland of parts of commit 566273222683314d. It also adds <algorithm> include in FunctionsWGL.cpp, which is needed for std::find on GCC. Change-Id: I852008087afa6b12da6e7e29934fa83390fded21 Reviewed-on: https://chromium-review.googlesource.com/308090 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Dian Xiang 0450dfcc 2015-09-17T11:25:27 Changed GetTextureFormatInfo to use static switch BUG=angleproject:1160 The find of the map table in GetTextureFormatInfo is showing up as a hotspot in draw call perf benchmark. Switching the map into a static switch should make it more efficient. Other tables that only GetTextureFormatInfo uses is also converted into static switching instead of maps for performance. Other tables include swizzle_format_table and load_functions_table which are both only used by GetTextureFormatInfo to generate the TextureFormat for a given internalFormat and d3d device caps. The static switches for each table is generated using a python script named gen_*.py. The data for each table is stored in JSON files. This makes it more flexible for additions and deletions. Change-Id: I0f40fcc2a215c85661863ea225891071cb2f2c71 Reviewed-on: https://chromium-review.googlesource.com/301770 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tryjob-Request: Dian Xiang <dianx@google.com> Tested-by: Dian Xiang <dianx@google.com> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>