소스 검색

more api & typos

Nicolas Cannasse 3 년 전
부모
커밋
e999c39b05
2개의 변경된 파일23개의 추가작업 그리고 8개의 파일을 삭제
  1. 18 8
      libs/directx/dx/Dx12.hx
  2. 5 0
      libs/directx/dx12.cpp

+ 18 - 8
libs/directx/dx/Dx12.hx

@@ -417,6 +417,13 @@ enum DsvFlags {
 	}
 }
 
+@:struct class ConstantBufferViewDesc {
+	public var bufferLocation : Address;
+	public var sizeInBytes : Int;
+	public function new() {
+	}
+}
+
 enum RootSignatureFlag {
 	ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;
 	DENY_VERTEX_SHADER_ROOT_ACCESS;
@@ -1254,7 +1261,7 @@ enum abstract BufferSRVFlags(Int) {
 	}
 }
 
-@:struct class Text1DSRV extends ShaderResourceViewDesc {
+@:struct class Tex1DSRV extends ShaderResourceViewDesc {
 	public var mostDetailedMip : Int;
 	public var mipLevels : Int;
 	public var resourceMinLODClamp : Single;
@@ -1266,7 +1273,7 @@ enum abstract BufferSRVFlags(Int) {
 	}
 }
 
-@:struct class Text1DArraySRV extends ShaderResourceViewDesc {
+@:struct class Tex1DArraySRV extends ShaderResourceViewDesc {
 	public var mostDetailedMip : Int;
 	public var mipLevels : Int;
 	public var firstArraySlice : Int;
@@ -1278,7 +1285,7 @@ enum abstract BufferSRVFlags(Int) {
 	}
 }
 
-@:struct class Text2DSRV extends ShaderResourceViewDesc {
+@:struct class Tex2DSRV extends ShaderResourceViewDesc {
 	public var mostDetailedMip : Int;
 	public var mipLevels : Int;
 	public var planeSlice : Int;
@@ -1290,7 +1297,7 @@ enum abstract BufferSRVFlags(Int) {
 	}
 }
 
-@:struct class Text2DArraySRV extends ShaderResourceViewDesc {
+@:struct class Tex2DArraySRV extends ShaderResourceViewDesc {
 	public var mostDetailedMip : Int;
 	public var mipLevels : Int;
 	public var firstArraySlice : Int;
@@ -1302,7 +1309,7 @@ enum abstract BufferSRVFlags(Int) {
 	}
 }
 
-@:struct class Text3DSRV extends ShaderResourceViewDesc {
+@:struct class Tex3DSRV extends ShaderResourceViewDesc {
 	public var mostDetailedMip : Int;
 	public var mipLevels : Int;
 	public var resourceMinLODClamp : Single;
@@ -1314,7 +1321,7 @@ enum abstract BufferSRVFlags(Int) {
 	}
 }
 
-@:struct class TextCubeSRV extends ShaderResourceViewDesc {
+@:struct class TexCubeSRV extends ShaderResourceViewDesc {
 	public var mostDetailedMip : Int;
 	public var mipLevels : Int;
 	public var resourceMinLODClamp : Single;
@@ -1326,7 +1333,7 @@ enum abstract BufferSRVFlags(Int) {
 	}
 }
 
-@:struct class TextCubeArraySRV extends ShaderResourceViewDesc {
+@:struct class TexCubeArraySRV extends ShaderResourceViewDesc {
 	public var mostDetailedMip : Int;
 	public var mipLevels : Int;
 	public var first2DArrayFace : Int;
@@ -1343,7 +1350,7 @@ enum abstract BufferSRVFlags(Int) {
 	public var addressU : AddressMode;
 	public var addressV : AddressMode;
 	public var addressW : AddressMode;
-	public var mipLODBias : Float;
+	public var mipLODBias : Single;
 	public var maxAnisotropy : Int;
 	public var comparisonFunc : ComparisonFunc;
 	@:packed public var borderColor(default,never) : Color;
@@ -1397,6 +1404,9 @@ class Dx12 {
 	public static function createDepthStencilView( buffer : Resource, desc : DepthStencilViewDesc, target : Address ) {
 	}
 
+	public static function createConstantBufferView( desc : ConstantBufferViewDesc, target : Address ) {
+	}
+
 	public static function createShaderResourceView( resource : Resource, desc : ShaderResourceViewDesc, target : Address ) {
 	}
 

+ 5 - 0
libs/directx/dx12.cpp

@@ -338,6 +338,10 @@ void HL_NAME(create_depth_stencil_view)( ID3D12Resource *res, D3D12_DEPTH_STENCI
 	static_driver->device->CreateDepthStencilView(res,desc,descriptor);
 }
 
+void HL_NAME(create_constant_buffer_view)( D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, D3D12_CPU_DESCRIPTOR_HANDLE descriptor ) {
+	static_driver->device->CreateConstantBufferView(desc,descriptor);
+}
+
 void HL_NAME(create_sampler)( D3D12_SAMPLER_DESC *desc, D3D12_CPU_DESCRIPTOR_HANDLE descriptor ) {
 	static_driver->device->CreateSampler(desc,descriptor);
 }
@@ -378,6 +382,7 @@ bool HL_NAME(update_sub_resource)( ID3D12GraphicsCommandList *cmd, ID3D12Resourc
 DEFINE_PRIM(_VOID, create_render_target_view, _RES _STRUCT _I64);
 DEFINE_PRIM(_VOID, create_depth_stencil_view, _RES _STRUCT _I64);
 DEFINE_PRIM(_VOID, create_shader_resource_view, _RES _STRUCT _I64);
+DEFINE_PRIM(_VOID, create_constant_buffer_view, _STRUCT _I64);
 DEFINE_PRIM(_VOID, create_sampler, _STRUCT _I64);
 DEFINE_PRIM(_RES, create_committed_resource, _STRUCT _I32 _STRUCT _I32 _STRUCT);
 DEFINE_PRIM(_RES, get_back_buffer, _I32);