Adding functionality to stencils Two minor features are required for the blitFramebuffer implementation in OpenGL ES 3: - lockStencil with x,y coordinates - getting the stencil format (new getStencilFormat function) Change-Id: I83ccccefe70dbbedd05b5d82bc75d30f689c4abe Reviewed-on: https://swiftshader-review.googlesource.com/7490 Tested-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGL/Device.cpp b/src/OpenGL/libGL/Device.cpp index 57c669f..86d01b9 100644 --- a/src/OpenGL/libGL/Device.cpp +++ b/src/OpenGL/libGL/Device.cpp
@@ -570,8 +570,8 @@ if(source->hasStencil()) { - sw::byte *sourceBuffer = (sw::byte*)source->lockStencil(0, PUBLIC); - sw::byte *destBuffer = (sw::byte*)dest->lockStencil(0, PUBLIC); + sw::byte *sourceBuffer = (sw::byte*)source->lockStencil(0, 0, 0, PUBLIC); + sw::byte *destBuffer = (sw::byte*)dest->lockStencil(0, 0, 0, PUBLIC); unsigned int width = source->getWidth(); unsigned int height = source->getHeight();
diff --git a/src/OpenGL/libGL/Image.cpp b/src/OpenGL/libGL/Image.cpp index 49204f5..6a8c01d 100644 --- a/src/OpenGL/libGL/Image.cpp +++ b/src/OpenGL/libGL/Image.cpp
@@ -672,7 +672,7 @@ } } - unsigned char *stencil = reinterpret_cast<unsigned char*>(lockStencil(0, sw::PUBLIC)); + unsigned char *stencil = reinterpret_cast<unsigned char*>(lockStencil(0, 0, 0, sw::PUBLIC)); if(stencil) {