소스 검색

Added fragment depth caps flag.

bkaradzic 12 년 전
부모
커밋
2fdea069ac
4개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 0
      include/bgfx.h
  2. 1 0
      src/renderer_d3d11.cpp
  3. 1 0
      src/renderer_d3d9.cpp
  4. 5 1
      src/renderer_gl.cpp

+ 1 - 0
include/bgfx.h

@@ -246,6 +246,7 @@
 #define BGFX_CAPS_VERTEX_ATTRIB_HALF     UINT64_C(0x0000000000020000)
 #define BGFX_CAPS_INSTANCING             UINT64_C(0x0000000000040000)
 #define BGFX_CAPS_RENDERER_MULTITHREADED UINT64_C(0x0000000000080000)
+#define BGFX_CAPS_FRAGMENT_DEPTH         UINT64_C(0x0000000000100000)
 
 ///
 #define BGFX_HANDLE(_name) \

+ 1 - 0
src/renderer_d3d11.cpp

@@ -491,6 +491,7 @@ namespace bgfx
 								| BGFX_CAPS_INSTANCING
 								| BGFX_CAPS_TEXTURE_3D
 								| BGFX_CAPS_VERTEX_ATTRIB_HALF
+								| BGFX_CAPS_FRAGMENT_DEPTH
 								);
 			g_caps.maxTextureSize = D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION;
 

+ 1 - 0
src/renderer_d3d9.cpp

@@ -410,6 +410,7 @@ namespace bgfx
 			g_caps.supported |= ( 0
 								| BGFX_CAPS_TEXTURE_3D
 								| BGFX_CAPS_VERTEX_ATTRIB_HALF
+								| BGFX_CAPS_FRAGMENT_DEPTH
 								);
 			g_caps.maxTextureSize = bx::uint32_min(m_caps.MaxTextureWidth, m_caps.MaxTextureHeight);
 

+ 5 - 1
src/renderer_gl.cpp

@@ -1775,7 +1775,7 @@ namespace bgfx
 
 	void writeString(bx::WriterI* _writer, const char* _str)
 	{
-		bx::write(_writer, _str, strlen(_str) );
+		bx::write(_writer, _str, (int32_t)strlen(_str) );
 	}
 
 	const char* findMatch(const char* _str, const char* _word)
@@ -2597,6 +2597,10 @@ namespace bgfx
 						 ? BGFX_CAPS_VERTEX_ATTRIB_HALF
 						 : 0
 						 ;
+		g_caps.supported |= !!(BGFX_CONFIG_RENDERER_OPENGL|BGFX_CONFIG_RENDERER_OPENGLES3)|s_extension[Extension::EXT_frag_depth].m_supported
+						 ? BGFX_CAPS_FRAGMENT_DEPTH
+						 : 0
+						 ;
 		g_caps.maxTextureSize = glGet(GL_MAX_TEXTURE_SIZE);
 
 		s_renderCtx->m_vaoSupport = !!BGFX_CONFIG_RENDERER_OPENGLES3