summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp
diff options
context:
space:
mode:
author Julian Sikorski <belegdol+github@gmail.com>2019-10-13 13:50:38 +0200
committer R. Belmont <rb6502@users.noreply.github.com>2019-10-13 07:50:38 -0400
commit0837e7451a84f95c29dbdb9bd6b8b931fee1635d (patch)
tree626bcbd250a7fbebdf5958a288d2f438d4f9fb5a /3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp
parentc913ccb59d713ce0b91135520719ac5385e54358 (diff)
WIP: sync bgfx, bx and bimg with latest upstream (#5723)
* Sync with bgfx upstream revision b91d0b6 * Sync with bx upstream revision d60912b * Sync with bimg upstream revision bd81f60 * Add astc-codec decoder * Rename VertexDecl to VertexLayout * Rename UniformType enum Int1 to Sampler. * Add NVN stub * Fix unused-const-variable error on macOS * Drop redundant explicit language parameters buildoptions_cpp are only applied to c++ files and buildoptions_objcpp are only applied to objective c++ files. As such, hardcoding -x offers no benefit while preventing overrides (such as one needed by 3rdparty/bgfx/src/renderer_vk.cpp on macOS) from working. * Re-introduce -x c++ in places where C code is compiled as C++ to prevent clang from throwing a warning * Build bgfx as Objective-C++ on macOS It is needed due to included headers * Enable Direct3D12 and Vulkan bgfx rendering backends * Enable building of spirv shaders * Properly escape /c in cmd call * Comment out dx12 bgfx renderer * Honor VERBOSE setting during shaders build * Only invert hlsl shader XYZ_TO_sRGB matrix for opengl * Add spirv shaders * OpenGL ES needs transposed matrix too * Metal needs transposed matrix as well
Diffstat (limited to '3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp')
-rw-r--r--3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp b/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp
index 77699841c01..81f6b0948e6 100644
--- a/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp
+++ b/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright 2011-2018 Branimir Karadzic. All rights reserved.
+ * Copyright 2011-2019 Branimir Karadzic. All rights reserved.
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
*/
@@ -48,7 +48,7 @@ static const bgfx::EmbeddedShader s_embeddedShaders[] =
namespace
{
- static bgfx::VertexDecl s_nvgDecl;
+ static bgfx::VertexLayout s_nvgLayout;
enum GLNVGshaderType
{
@@ -271,7 +271,7 @@ namespace
gl->u_scissorExtScale = bgfx::createUniform("u_scissorExtScale", bgfx::UniformType::Vec4);
gl->u_extentRadius = bgfx::createUniform("u_extentRadius", bgfx::UniformType::Vec4);
gl->u_params = bgfx::createUniform("u_params", bgfx::UniformType::Vec4);
- gl->s_tex = bgfx::createUniform("s_tex", bgfx::UniformType::Int1);
+ gl->s_tex = bgfx::createUniform("s_tex", bgfx::UniformType::Sampler);
if (bgfx::getRendererType() == bgfx::RendererType::Direct3D9)
{
@@ -282,7 +282,7 @@ namespace
gl->u_halfTexel.idx = bgfx::kInvalidHandle;
}
- s_nvgDecl
+ s_nvgLayout
.begin()
.add(bgfx::Attrib::Position, 2, bgfx::AttribType::Float)
.add(bgfx::Attrib::TexCoord0, 2, bgfx::AttribType::Float)
@@ -370,7 +370,11 @@ namespace
uint32_t pitch = tex->width * bytesPerPixel;
const bgfx::Memory* mem = bgfx::alloc(w * h * bytesPerPixel);
- bx::gather(mem->data, data + y * pitch + x * bytesPerPixel, w * bytesPerPixel, h, pitch);
+ bx::gather(mem->data, // dst
+ data + y * pitch + x * bytesPerPixel, // src
+ pitch, // srcStride
+ w * bytesPerPixel, // stride
+ h); // num
bgfx::updateTexture2D(
tex->id
@@ -554,11 +558,11 @@ namespace
gl->th = handle;
}
- static void nvgRenderViewport(void* _userPtr, int width, int height, float devicePixelRatio)
+ static void nvgRenderViewport(void* _userPtr, float width, float height, float devicePixelRatio)
{
struct GLNVGcontext* gl = (struct GLNVGcontext*)_userPtr;
- gl->view[0] = (float)width;
- gl->view[1] = (float)height;
+ gl->view[0] = width;
+ gl->view[1] = height;
bgfx::setViewRect(gl->viewId, 0, 0, width * devicePixelRatio, height * devicePixelRatio);
}
@@ -758,7 +762,7 @@ namespace
if (gl->ncalls > 0)
{
- bgfx::allocTransientVertexBuffer(&gl->tvb, gl->nverts, s_nvgDecl);
+ bgfx::allocTransientVertexBuffer(&gl->tvb, gl->nverts, s_nvgLayout);
int allocated = gl->tvb.size/gl->tvb.stride;