src/libANGLE/renderer/vulkan/DeviceVk.cpp


Log

Author Commit Date CI Message
Shahbaz Youssefi 7a85d114 2022-03-25T15:01:17 Use [[nodiscard]] on RAII classes Scoped* classes provide an RAII way of adding cleanup/restore state/etc in a robust way. Unfortunatley, it's very easy to mistakenly leave the variable name, leading to the destructor being called immediately instead of at the end of the scope: { ScopedX(parameters); // instead of ScopedX x(parameters); // Code here is run after destructor } The [[nodiscard]] attribute, if specified on the ScopedX class would lead to a warning (turned to error with -Werror). This change does that for classes named *Scoped* in ANGLE. Bug: chromium:1103817 Change-Id: I65c9922c9b4eba1f9c033e093fe8fe534648ab62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3552092 Reviewed-by: Lingfeng Yang <lfy@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Peng Huang 5adee916 2022-01-11T13:09:55 Wrap some global vulkan methods which depend on env variables ANGLE scoped sets some envion variables during initialization. Those env variables will change some vulkan global methods behavior. So to make sure those global methods have same behavior, this CL wraps those global methods, and sets those envion variables before call those vulkan methods. Bug: chromium:1264439 Change-Id: Ie4e29884fcf5b67f4e53ddd3c90a9ade7b226a1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379209 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Peng Huang 3a84ef5e 2021-11-12T17:40:40 Add EGL_VULKAN_GET_INSTANCE_PROC_ADDR Add EGL_VULKAN_GET_INSTANCE_PROC_ADDR for query Vulkan vkGetInstanceProcAddr function pointer associate with the Vulkan EGLDevice. Bug: chromium:1264439 Change-Id: I4ff14e2aef7b8ca651e13b4d2867a540aed1b321 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3279100 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Peng Huang d7090f5d 2021-10-29T10:45:19 Add more attributes for EGL_ANGLE_device_vulkan Bug: chromium:1264439 Change-Id: Ibc9676cef16411b17c833abe9559721811016eef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264164 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Peng Huang 81d964a1 2021-10-28T10:50:51 vulkan: implement EGLDevice for vulkan backend It allows ANGLE clients to get and use VkDevice and VkQueue used by vulkan backend. Bug: chromium:1264439 Change-Id: I338ac08152cfec50bb34c5025730e5e6368efba9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250964 Reviewed-by: Peng Huang <penghuang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Kenneth Russell 8e7d9d6c 2019-10-04T18:19:32 Add EGL_ANGLE_device_cgl extension. Supports querying the CGLContextObj and CGLPixelFormatObj associated with ANGLE's underlying OpenGL context on macOS. Minor refactorings to implementation of device attribute queries on all platforms. Bug: angleproject:3973 Change-Id: I24341668be4cbfed0b7f2df4c1402df1effe275e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1846733 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill b980c563 2018-11-27T11:34:27 Reformat all cpp and h files. This applies git cl format --full to all ANGLE sources. Bug: angleproject:2986 Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f Reviewed-on: https://chromium-review.googlesource.com/c/1351367 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 540a1dfe 2018-01-08T17:22:55 Refactor DeviceImpl creation. Add an initialize function to match other impl objects and simplify the creation of DeviceImpls. BUG=742034 Change-Id: I569c8252d5d23c8af98835f6c08e7a3b640fc3f3 Reviewed-on: https://chromium-review.googlesource.com/854626 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 28334a41 2018-01-08T17:05:11 Remove the externallyForced method of DeviceImpl. It can be inferred from the presence of an owning display. BUG=742034 Change-Id: I6a33378f4256733da6d9658d47763153e431ad70 Reviewed-on: https://chromium-review.googlesource.com/854625 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuly Novikov c4d18aac 2017-03-09T18:45:02 Use ErrorStream everywhere Eliminates one more usage of FormatString and its static initializer. Add more ErrorStream types and replace gl::Error and egl::Error with them. BUG=angleproject:1644 Change-Id: Ib498d0ae4b81a332ec71aed7cf709993b154e6bb Reviewed-on: https://chromium-review.googlesource.com/505429 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9e54b5af 2016-05-25T12:57:39 Add Vulkan stubs. Currently enabled for Windows by default. BUG=angleproject:1319 Change-Id: I87921c579bee466465fb1e3f629bb3a40fdff659 Reviewed-on: https://chromium-review.googlesource.com/328730 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>