d3d11

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2024 License: MIT, Unlicense Imports: 6 Imported by: 0

Documentation

Rendered for windows/amd64

Index

Constants

View Source
const (
	SDK_VERSION          = 7
	DRIVER_TYPE_HARDWARE = 1

	DXGI_FORMAT_UNKNOWN             = 0
	DXGI_FORMAT_R16_FLOAT           = 54
	DXGI_FORMAT_R32_FLOAT           = 41
	DXGI_FORMAT_R32_TYPELESS        = 39
	DXGI_FORMAT_R32G32_FLOAT        = 16
	DXGI_FORMAT_R32G32B32_FLOAT     = 6
	DXGI_FORMAT_R32G32B32A32_FLOAT  = 2
	DXGI_FORMAT_R8G8B8A8_UNORM      = 28
	DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29
	DXGI_FORMAT_R16_SINT            = 59
	DXGI_FORMAT_R16G16_SINT         = 38
	DXGI_FORMAT_R16_UINT            = 57
	DXGI_FORMAT_D24_UNORM_S8_UINT   = 45
	DXGI_FORMAT_R16G16_FLOAT        = 34
	DXGI_FORMAT_R16G16B16A16_FLOAT  = 10

	DXGI_DEBUG_RLO_SUMMARY         = 0x1
	DXGI_DEBUG_RLO_DETAIL          = 0x2
	DXGI_DEBUG_RLO_IGNORE_INTERNAL = 0x4

	FORMAT_SUPPORT_TEXTURE2D     = 0x20
	FORMAT_SUPPORT_RENDER_TARGET = 0x4000

	DXGI_USAGE_RENDER_TARGET_OUTPUT = 1 << (1 + 4)

	CPU_ACCESS_READ = 0x20000

	MAP_READ = 1

	DXGI_SWAP_EFFECT_DISCARD = 0

	FEATURE_LEVEL_9_1  = 0x9100
	FEATURE_LEVEL_9_3  = 0x9300
	FEATURE_LEVEL_11_0 = 0xb000

	USAGE_IMMUTABLE = 1
	USAGE_STAGING   = 3

	BIND_VERTEX_BUFFER    = 0x1
	BIND_INDEX_BUFFER     = 0x2
	BIND_CONSTANT_BUFFER  = 0x4
	BIND_SHADER_RESOURCE  = 0x8
	BIND_RENDER_TARGET    = 0x20
	BIND_DEPTH_STENCIL    = 0x40
	BIND_UNORDERED_ACCESS = 0x80

	PRIMITIVE_TOPOLOGY_TRIANGLELIST  = 4
	PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5

	FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14
	FILTER_MIN_MAG_MIP_LINEAR       = 0x15
	FILTER_MIN_MAG_MIP_POINT        = 0

	TEXTURE_ADDRESS_MIRROR = 2
	TEXTURE_ADDRESS_CLAMP  = 3
	TEXTURE_ADDRESS_WRAP   = 1

	SRV_DIMENSION_BUFFER    = 1
	UAV_DIMENSION_BUFFER    = 1
	SRV_DIMENSION_BUFFEREX  = 11
	SRV_DIMENSION_TEXTURE2D = 4
	UAV_DIMENSION_TEXTURE2D = 4

	BUFFER_UAV_FLAG_RAW   = 0x1
	BUFFEREX_SRV_FLAG_RAW = 0x1

	RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20
	RESOURCE_MISC_GENERATE_MIPS          = 0x1

	CREATE_DEVICE_DEBUG = 0x2

	FILL_SOLID = 3

	CULL_NONE = 1

	CLEAR_DEPTH   = 0x1
	CLEAR_STENCIL = 0x2

	DSV_DIMENSION_TEXTURE2D = 3

	DEPTH_WRITE_MASK_ALL = 1

	COMPARISON_GREATER       = 5
	COMPARISON_GREATER_EQUAL = 7

	BLEND_OP_ADD        = 1
	BLEND_ONE           = 2
	BLEND_INV_SRC_ALPHA = 6
	BLEND_ZERO          = 1
	BLEND_DEST_COLOR    = 9
	BLEND_DEST_ALPHA    = 7

	COLOR_WRITE_ENABLE_ALL = 1 | 2 | 4 | 8

	DXGI_STATUS_OCCLUDED      = 0x087A0001
	DXGI_ERROR_DEVICE_RESET   = 0x887A0007
	DXGI_ERROR_DEVICE_REMOVED = 0x887A0005
	D3DDDIERR_DEVICEREMOVED   = 1<<31 | 0x876<<16 | 2160

	RLDO_SUMMARY         = 1
	RLDO_DETAIL          = 2
	RLDO_IGNORE_INTERNAL = 4
)

Variables

View Source
var (
	IID_Texture2D    = GUID{0x6f15aaf2, 0xd208, 0x4e89, 0x9a, 0xb4, 0x48, 0x95, 0x35, 0xd3, 0x4f, 0x9c}
	IID_IDXGIDebug   = GUID{0x119E7452, 0xDE9E, 0x40fe, 0x88, 0x06, 0x88, 0xF9, 0x0C, 0x12, 0xB4, 0x41}
	IID_IDXGIDevice  = GUID{0x54ec77fa, 0x1377, 0x44e6, 0x8c, 0x32, 0x88, 0xfd, 0x5f, 0x44, 0xc8, 0x4c}
	IID_IDXGIFactory = GUID{0x7b7166ec, 0x21c7, 0x44ae, 0xb2, 0x1a, 0xc9, 0xae, 0x32, 0x1a, 0xe3, 0x69}
	IID_ID3D11Debug  = GUID{0x79cf2233, 0x7536, 0x4948, 0x9d, 0x36, 0x1e, 0x46, 0x92, 0xdc, 0x57, 0x60}

	DXGI_DEBUG_ALL = GUID{0xe48ae283, 0xda80, 0x490b, 0x87, 0xe6, 0x43, 0xe9, 0xa9, 0xcf, 0xda, 0x8}
)

Functions

func CreateDevice

func CreateDevice(driverType uint32, flags uint32) (*Device, *DeviceContext, uint32, error)

func CreateDeviceAndSwapChain

func CreateDeviceAndSwapChain(driverType uint32, flags uint32, swapDesc *DXGI_SWAP_CHAIN_DESC) (*Device, *DeviceContext, *IDXGISwapChain, uint32, error)

func IUnknownAddRef

func IUnknownAddRef(obj unsafe.Pointer, addRefMethod uintptr)

func IUnknownRelease

func IUnknownRelease(obj unsafe.Pointer, releaseMethod uintptr)

func ReportLiveObjects

func ReportLiveObjects() error

Types

type BLEND_DESC

type BLEND_DESC struct {
	AlphaToCoverageEnable  uint32
	IndependentBlendEnable uint32
	RenderTarget           [8]RENDER_TARGET_BLEND_DESC
}

type BOX

type BOX struct {
	Left   uint32
	Top    uint32
	Front  uint32
	Right  uint32
	Bottom uint32
	Back   uint32
}

type BUFFEREX_SRV

type BUFFEREX_SRV struct {
	FirstElement uint32
	NumElements  uint32
	Flags        uint32
}

type BUFFER_DESC

type BUFFER_DESC struct {
	ByteWidth           uint32
	Usage               uint32
	BindFlags           uint32
	CPUAccessFlags      uint32
	MiscFlags           uint32
	StructureByteStride uint32
}

type BUFFER_UAV

type BUFFER_UAV struct {
	FirstElement uint32
	NumElements  uint32
	Flags        uint32
}

type BlendState

type BlendState struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type Buffer

type Buffer struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type ComputeShader

type ComputeShader struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type DEPTH_STENCILOP_DESC

type DEPTH_STENCILOP_DESC struct {
	StencilFailOp      uint32
	StencilDepthFailOp uint32
	StencilPassOp      uint32
	StencilFunc        uint32
}

type DEPTH_STENCIL_DESC

type DEPTH_STENCIL_DESC struct {
	DepthEnable      uint32
	DepthWriteMask   uint32
	DepthFunc        uint32
	StencilEnable    uint32
	StencilReadMask  uint8
	StencilWriteMask uint8
	FrontFace        DEPTH_STENCILOP_DESC
	BackFace         DEPTH_STENCILOP_DESC
}

type DEPTH_STENCIL_VIEW_DESC_TEX2D

type DEPTH_STENCIL_VIEW_DESC_TEX2D struct {
	Format        uint32
	ViewDimension uint32
	Flags         uint32
	Texture2D     TEX2D_DSV
}

type DXGI_MODE_DESC

type DXGI_MODE_DESC struct {
	Width            uint32
	Height           uint32
	RefreshRate      DXGI_RATIONAL
	Format           uint32
	ScanlineOrdering uint32
	Scaling          uint32
}

type DXGI_RATIONAL

type DXGI_RATIONAL struct {
	Numerator   uint32
	Denominator uint32
}

type DXGI_SAMPLE_DESC

type DXGI_SAMPLE_DESC struct {
	Count   uint32
	Quality uint32
}

type DXGI_SWAP_CHAIN_DESC

type DXGI_SWAP_CHAIN_DESC struct {
	BufferDesc   DXGI_MODE_DESC
	SampleDesc   DXGI_SAMPLE_DESC
	BufferUsage  uint32
	BufferCount  uint32
	OutputWindow windows.Handle
	Windowed     uint32
	SwapEffect   uint32
	Flags        uint32
}

type Debug

type Debug struct {
	Vtbl *struct {
		SetFeatureMask             uintptr
		GetFeatureMask             uintptr
		SetPresentPerRenderOpDelay uintptr
		GetPresentPerRenderOpDelay uintptr
		SetSwapChain               uintptr
		GetSwapChain               uintptr
		ValidateContext            uintptr
		ReportLiveDeviceObjects    uintptr
		ValidateContextForDispatch uintptr
		// contains filtered or unexported fields
	}
}

func (*Debug) ReportLiveDeviceObjects

func (d *Debug) ReportLiveDeviceObjects(flags uint32)

type DepthStencilState

type DepthStencilState struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type DepthStencilView

type DepthStencilView struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

func CreateDepthView

func CreateDepthView(d *Device, width, height, depthBits int) (*DepthStencilView, error)

type Device

type Device struct {
	Vtbl *struct {
		CreateBuffer                         uintptr
		CreateTexture1D                      uintptr
		CreateTexture2D                      uintptr
		CreateTexture3D                      uintptr
		CreateShaderResourceView             uintptr
		CreateUnorderedAccessView            uintptr
		CreateRenderTargetView               uintptr
		CreateDepthStencilView               uintptr
		CreateInputLayout                    uintptr
		CreateVertexShader                   uintptr
		CreateGeometryShader                 uintptr
		CreateGeometryShaderWithStreamOutput uintptr
		CreatePixelShader                    uintptr
		CreateHullShader                     uintptr
		CreateDomainShader                   uintptr
		CreateComputeShader                  uintptr
		CreateClassLinkage                   uintptr
		CreateBlendState                     uintptr
		CreateDepthStencilState              uintptr
		CreateRasterizerState                uintptr
		CreateSamplerState                   uintptr
		CreateQuery                          uintptr
		CreatePredicate                      uintptr
		CreateCounter                        uintptr
		CreateDeferredContext                uintptr
		OpenSharedResource                   uintptr
		CheckFormatSupport                   uintptr
		CheckMultisampleQualityLevels        uintptr
		CheckCounterInfo                     uintptr
		CheckCounter                         uintptr
		CheckFeatureSupport                  uintptr
		GetPrivateData                       uintptr
		SetPrivateData                       uintptr
		SetPrivateDataInterface              uintptr
		GetFeatureLevel                      uintptr
		GetCreationFlags                     uintptr
		GetDeviceRemovedReason               uintptr
		GetImmediateContext                  uintptr
		SetExceptionMode                     uintptr
		GetExceptionMode                     uintptr
		// contains filtered or unexported fields
	}
}

func (*Device) CheckFormatSupport

func (d *Device) CheckFormatSupport(format uint32) (uint32, error)

func (*Device) CreateBlendState

func (d *Device) CreateBlendState(desc *BLEND_DESC) (*BlendState, error)

func (*Device) CreateBuffer

func (d *Device) CreateBuffer(desc *BUFFER_DESC, data []byte) (*Buffer, error)

func (*Device) CreateComputeShader

func (d *Device) CreateComputeShader(bytecode []byte) (*ComputeShader, error)

func (*Device) CreateDepthStencilState

func (d *Device) CreateDepthStencilState(desc *DEPTH_STENCIL_DESC) (*DepthStencilState, error)

func (*Device) CreateDepthStencilViewTEX2D

func (d *Device) CreateDepthStencilViewTEX2D(res *Resource, desc *DEPTH_STENCIL_VIEW_DESC_TEX2D) (*DepthStencilView, error)

func (*Device) CreateInputLayout

func (d *Device) CreateInputLayout(descs []INPUT_ELEMENT_DESC, bytecode []byte) (*InputLayout, error)

func (*Device) CreatePixelShader

func (d *Device) CreatePixelShader(bytecode []byte) (*PixelShader, error)

func (*Device) CreateRasterizerState

func (d *Device) CreateRasterizerState(desc *RASTERIZER_DESC) (*RasterizerState, error)

func (*Device) CreateRenderTargetView

func (d *Device) CreateRenderTargetView(res *Resource) (*RenderTargetView, error)

func (*Device) CreateSamplerState

func (d *Device) CreateSamplerState(desc *SAMPLER_DESC) (*SamplerState, error)

func (*Device) CreateShaderResourceView

func (d *Device) CreateShaderResourceView(res *Resource, desc unsafe.Pointer) (*ShaderResourceView, error)

func (*Device) CreateTexture2D

func (d *Device) CreateTexture2D(desc *TEXTURE2D_DESC) (*Texture2D, error)

func (*Device) CreateUnorderedAccessView

func (d *Device) CreateUnorderedAccessView(res *Resource, desc unsafe.Pointer) (*UnorderedAccessView, error)

func (*Device) CreateVertexShader

func (d *Device) CreateVertexShader(bytecode []byte) (*VertexShader, error)

func (*Device) GetFeatureLevel

func (d *Device) GetFeatureLevel() int

func (*Device) GetImmediateContext

func (d *Device) GetImmediateContext() *DeviceContext

func (*Device) ReportLiveDeviceObjects

func (d *Device) ReportLiveDeviceObjects() error

type DeviceContext

type DeviceContext struct {
	Vtbl *struct {
		GetDevice                                 uintptr
		GetPrivateData                            uintptr
		SetPrivateData                            uintptr
		SetPrivateDataInterface                   uintptr
		VSSetConstantBuffers                      uintptr
		PSSetShaderResources                      uintptr
		PSSetShader                               uintptr
		PSSetSamplers                             uintptr
		VSSetShader                               uintptr
		DrawIndexed                               uintptr
		Draw                                      uintptr
		Map                                       uintptr
		Unmap                                     uintptr
		PSSetConstantBuffers                      uintptr
		IASetInputLayout                          uintptr
		IASetVertexBuffers                        uintptr
		IASetIndexBuffer                          uintptr
		DrawIndexedInstanced                      uintptr
		DrawInstanced                             uintptr
		GSSetConstantBuffers                      uintptr
		GSSetShader                               uintptr
		IASetPrimitiveTopology                    uintptr
		VSSetShaderResources                      uintptr
		VSSetSamplers                             uintptr
		Begin                                     uintptr
		End                                       uintptr
		GetData                                   uintptr
		SetPredication                            uintptr
		GSSetShaderResources                      uintptr
		GSSetSamplers                             uintptr
		OMSetRenderTargets                        uintptr
		OMSetRenderTargetsAndUnorderedAccessViews uintptr
		OMSetBlendState                           uintptr
		OMSetDepthStencilState                    uintptr
		SOSetTargets                              uintptr
		DrawAuto                                  uintptr
		DrawIndexedInstancedIndirect              uintptr
		DrawInstancedIndirect                     uintptr
		Dispatch                                  uintptr
		DispatchIndirect                          uintptr
		RSSetState                                uintptr
		RSSetViewports                            uintptr
		RSSetScissorRects                         uintptr
		CopySubresourceRegion                     uintptr
		CopyResource                              uintptr
		UpdateSubresource                         uintptr
		CopyStructureCount                        uintptr
		ClearRenderTargetView                     uintptr
		ClearUnorderedAccessViewUint              uintptr
		ClearUnorderedAccessViewFloat             uintptr
		ClearDepthStencilView                     uintptr
		GenerateMips                              uintptr
		SetResourceMinLOD                         uintptr
		GetResourceMinLOD                         uintptr
		ResolveSubresource                        uintptr
		ExecuteCommandList                        uintptr
		HSSetShaderResources                      uintptr
		HSSetShader                               uintptr
		HSSetSamplers                             uintptr
		HSSetConstantBuffers                      uintptr
		DSSetShaderResources                      uintptr
		DSSetShader                               uintptr
		DSSetSamplers                             uintptr
		DSSetConstantBuffers                      uintptr
		CSSetShaderResources                      uintptr
		CSSetUnorderedAccessViews                 uintptr
		CSSetShader                               uintptr
		CSSetSamplers                             uintptr
		CSSetConstantBuffers                      uintptr
		VSGetConstantBuffers                      uintptr
		PSGetShaderResources                      uintptr
		PSGetShader                               uintptr
		PSGetSamplers                             uintptr
		VSGetShader                               uintptr
		PSGetConstantBuffers                      uintptr
		IAGetInputLayout                          uintptr
		IAGetVertexBuffers                        uintptr
		IAGetIndexBuffer                          uintptr
		GSGetConstantBuffers                      uintptr
		GSGetShader                               uintptr
		IAGetPrimitiveTopology                    uintptr
		VSGetShaderResources                      uintptr
		VSGetSamplers                             uintptr
		GetPredication                            uintptr
		GSGetShaderResources                      uintptr
		GSGetSamplers                             uintptr
		OMGetRenderTargets                        uintptr
		OMGetRenderTargetsAndUnorderedAccessViews uintptr
		OMGetBlendState                           uintptr
		OMGetDepthStencilState                    uintptr
		SOGetTargets                              uintptr
		RSGetState                                uintptr
		RSGetViewports                            uintptr
		RSGetScissorRects                         uintptr
		HSGetShaderResources                      uintptr
		HSGetShader                               uintptr
		HSGetSamplers                             uintptr
		HSGetConstantBuffers                      uintptr
		DSGetShaderResources                      uintptr
		DSGetShader                               uintptr
		DSGetSamplers                             uintptr
		DSGetConstantBuffers                      uintptr
		CSGetShaderResources                      uintptr
		CSGetUnorderedAccessViews                 uintptr
		CSGetShader                               uintptr
		CSGetSamplers                             uintptr
		CSGetConstantBuffers                      uintptr
		ClearState                                uintptr
		Flush                                     uintptr
		GetType                                   uintptr
		GetContextFlags                           uintptr
		FinishCommandList                         uintptr
		// contains filtered or unexported fields
	}
}

func (*DeviceContext) CSSetShader

func (c *DeviceContext) CSSetShader(s *ComputeShader)

func (*DeviceContext) CSSetShaderResources

func (c *DeviceContext) CSSetShaderResources(startSlot uint32, s *ShaderResourceView)

func (*DeviceContext) CSSetUnorderedAccessViews

func (c *DeviceContext) CSSetUnorderedAccessViews(startSlot uint32, v *UnorderedAccessView)

func (*DeviceContext) ClearDepthStencilView

func (c *DeviceContext) ClearDepthStencilView(target *DepthStencilView, flags uint32, depth float32, stencil uint8)

func (*DeviceContext) ClearRenderTargetView

func (c *DeviceContext) ClearRenderTargetView(target *RenderTargetView, color *[4]float32)

func (*DeviceContext) CopySubresourceRegion

func (c *DeviceContext) CopySubresourceRegion(dst *Resource, dstSubresource, dstX, dstY, dstZ uint32, src *Resource, srcSubresource uint32, srcBox *BOX)

func (*DeviceContext) Dispatch

func (c *DeviceContext) Dispatch(x, y, z uint32)

func (*DeviceContext) Draw

func (c *DeviceContext) Draw(count, start uint32)

func (*DeviceContext) DrawIndexed

func (c *DeviceContext) DrawIndexed(count, start uint32, base int32)

func (*DeviceContext) GenerateMips

func (c *DeviceContext) GenerateMips(res *ShaderResourceView)

func (*DeviceContext) IASetIndexBuffer

func (c *DeviceContext) IASetIndexBuffer(buf *Buffer, format, offset uint32)

func (*DeviceContext) IASetInputLayout

func (c *DeviceContext) IASetInputLayout(layout *InputLayout)

func (*DeviceContext) IASetPrimitiveTopology

func (c *DeviceContext) IASetPrimitiveTopology(mode uint32)

func (*DeviceContext) IASetVertexBuffers

func (c *DeviceContext) IASetVertexBuffers(buf *Buffer, stride, offset uint32)

func (*DeviceContext) Map

func (c *DeviceContext) Map(resource *Resource, subResource, mapType, mapFlags uint32) (MAPPED_SUBRESOURCE, error)

func (*DeviceContext) OMGetRenderTargets

func (c *DeviceContext) OMGetRenderTargets() (*RenderTargetView, *DepthStencilView)

func (*DeviceContext) OMSetBlendState

func (c *DeviceContext) OMSetBlendState(state *BlendState, factor *f32color.RGBA, sampleMask uint32)

func (*DeviceContext) OMSetDepthStencilState

func (c *DeviceContext) OMSetDepthStencilState(state *DepthStencilState, stencilRef uint32)

func (*DeviceContext) OMSetRenderTargets

func (c *DeviceContext) OMSetRenderTargets(target *RenderTargetView, depthStencil *DepthStencilView)

func (*DeviceContext) PSSetConstantBuffers

func (c *DeviceContext) PSSetConstantBuffers(b *Buffer)

func (*DeviceContext) PSSetSamplers

func (c *DeviceContext) PSSetSamplers(startSlot uint32, s *SamplerState)

func (*DeviceContext) PSSetShader

func (c *DeviceContext) PSSetShader(s *PixelShader)

func (*DeviceContext) PSSetShaderResources

func (c *DeviceContext) PSSetShaderResources(startSlot uint32, s *ShaderResourceView)

func (*DeviceContext) RSSetState

func (c *DeviceContext) RSSetState(state *RasterizerState)

func (*DeviceContext) RSSetViewports

func (c *DeviceContext) RSSetViewports(viewport *VIEWPORT)

func (*DeviceContext) Unmap

func (c *DeviceContext) Unmap(resource *Resource, subResource uint32)

func (*DeviceContext) UpdateSubresource

func (c *DeviceContext) UpdateSubresource(res *Resource, dstBox *BOX, rowPitch, depthPitch uint32, data []byte)

func (*DeviceContext) VSSetConstantBuffers

func (c *DeviceContext) VSSetConstantBuffers(b *Buffer)

func (*DeviceContext) VSSetShader

func (c *DeviceContext) VSSetShader(s *VertexShader)

type ErrorCode

type ErrorCode struct {
	Name string
	Code uint32
}

func (ErrorCode) Error

func (e ErrorCode) Error() string

type GUID

type GUID struct {
	Data1   uint32
	Data2   uint16
	Data3   uint16
	Data4_0 uint8
	Data4_1 uint8
	Data4_2 uint8
	Data4_3 uint8
	Data4_4 uint8
	Data4_5 uint8
	Data4_6 uint8
	Data4_7 uint8
}

type IDXGIAdapter

type IDXGIAdapter struct {
	Vtbl *struct {
		SetPrivateData          uintptr
		SetPrivateDataInterface uintptr
		GetPrivateData          uintptr
		GetParent               uintptr
		EnumOutputs             uintptr
		GetDesc                 uintptr
		CheckInterfaceSupport   uintptr
		GetDesc1                uintptr
		// contains filtered or unexported fields
	}
}

type IDXGIDebug

type IDXGIDebug struct {
	Vtbl *struct {
		ReportLiveObjects uintptr
		// contains filtered or unexported fields
	}
}

func DXGIGetDebugInterface1

func DXGIGetDebugInterface1() (*IDXGIDebug, error)

func (*IDXGIDebug) ReportLiveObjects

func (d *IDXGIDebug) ReportLiveObjects(guid *GUID, flags uint32)

type IDXGIDevice

type IDXGIDevice struct {
	Vtbl *struct {
		SetPrivateData          uintptr
		SetPrivateDataInterface uintptr
		GetPrivateData          uintptr
		GetParent               uintptr
		GetAdapter              uintptr
		CreateSurface           uintptr
		QueryResourceResidency  uintptr
		SetGPUThreadPriority    uintptr
		GetGPUThreadPriority    uintptr
		// contains filtered or unexported fields
	}
}

func (*IDXGIDevice) GetAdapter

func (d *IDXGIDevice) GetAdapter() (*IDXGIAdapter, error)

type IDXGIFactory

type IDXGIFactory struct {
	Vtbl *struct {
		SetPrivateData          uintptr
		SetPrivateDataInterface uintptr
		GetPrivateData          uintptr
		GetParent               uintptr
		EnumAdapters            uintptr
		MakeWindowAssociation   uintptr
		GetWindowAssociation    uintptr
		CreateSwapChain         uintptr
		CreateSoftwareAdapter   uintptr
		// contains filtered or unexported fields
	}
}

func (*IDXGIFactory) CreateSwapChain

func (d *IDXGIFactory) CreateSwapChain(device *IUnknown, desc *DXGI_SWAP_CHAIN_DESC) (*IDXGISwapChain, error)

type IDXGIObject

type IDXGIObject struct {
	Vtbl *struct {
		SetPrivateData          uintptr
		SetPrivateDataInterface uintptr
		GetPrivateData          uintptr
		GetParent               uintptr
		// contains filtered or unexported fields
	}
}

func (*IDXGIObject) GetParent

func (d *IDXGIObject) GetParent(guid *GUID) (*IDXGIObject, error)

type IDXGISwapChain

type IDXGISwapChain struct {
	Vtbl *struct {
		SetPrivateData          uintptr
		SetPrivateDataInterface uintptr
		GetPrivateData          uintptr
		GetParent               uintptr
		GetDevice               uintptr
		Present                 uintptr
		GetBuffer               uintptr
		SetFullscreenState      uintptr
		GetFullscreenState      uintptr
		GetDesc                 uintptr
		ResizeBuffers           uintptr
		ResizeTarget            uintptr
		GetContainingOutput     uintptr
		GetFrameStatistics      uintptr
		GetLastPresentCount     uintptr
		// contains filtered or unexported fields
	}
}

func CreateSwapChain

func CreateSwapChain(dev *Device, hwnd windows.Handle) (*IDXGISwapChain, error)

func (*IDXGISwapChain) GetBuffer

func (s *IDXGISwapChain) GetBuffer(index int, riid *GUID) (*IUnknown, error)

func (*IDXGISwapChain) GetDesc

func (s *IDXGISwapChain) GetDesc() (DXGI_SWAP_CHAIN_DESC, error)

func (*IDXGISwapChain) Present

func (s *IDXGISwapChain) Present(SyncInterval int, Flags uint32) error

func (*IDXGISwapChain) ResizeBuffers

func (s *IDXGISwapChain) ResizeBuffers(buffers, width, height, newFormat, flags uint32) error

type INPUT_ELEMENT_DESC

type INPUT_ELEMENT_DESC struct {
	SemanticName         *byte
	SemanticIndex        uint32
	Format               uint32
	InputSlot            uint32
	AlignedByteOffset    uint32
	InputSlotClass       uint32
	InstanceDataStepRate uint32
}

type IUnknown

type IUnknown struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

func IUnknownQueryInterface

func IUnknownQueryInterface(obj unsafe.Pointer, queryInterfaceMethod uintptr, guid *GUID) (*IUnknown, error)

type InputLayout

type InputLayout struct {
	Vtbl *struct {
		GetBufferPointer uintptr
		GetBufferSize    uintptr
		// contains filtered or unexported fields
	}
}

type MAPPED_SUBRESOURCE

type MAPPED_SUBRESOURCE struct {
	PData      uintptr
	RowPitch   uint32
	DepthPitch uint32
}

type PixelShader

type PixelShader struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type RASTERIZER_DESC

type RASTERIZER_DESC struct {
	FillMode              uint32
	CullMode              uint32
	FrontCounterClockwise uint32
	DepthBias             int32
	DepthBiasClamp        float32
	SlopeScaledDepthBias  float32
	DepthClipEnable       uint32
	ScissorEnable         uint32
	MultisampleEnable     uint32
	AntialiasedLineEnable uint32
}

type RENDER_TARGET_BLEND_DESC

type RENDER_TARGET_BLEND_DESC struct {
	BlendEnable           uint32
	SrcBlend              uint32
	DestBlend             uint32
	BlendOp               uint32
	SrcBlendAlpha         uint32
	DestBlendAlpha        uint32
	BlendOpAlpha          uint32
	RenderTargetWriteMask uint8
}

type RasterizerState

type RasterizerState struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type RenderTargetView

type RenderTargetView struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type Resource

type Resource struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type SAMPLER_DESC

type SAMPLER_DESC struct {
	Filter         uint32
	AddressU       uint32
	AddressV       uint32
	AddressW       uint32
	MipLODBias     float32
	MaxAnisotropy  uint32
	ComparisonFunc uint32
	BorderColor    [4]float32
	MinLOD         float32
	MaxLOD         float32
}

type SHADER_RESOURCE_VIEW_DESC

type SHADER_RESOURCE_VIEW_DESC struct {
	Format        uint32
	ViewDimension uint32
}

type SHADER_RESOURCE_VIEW_DESC_BUFFEREX

type SHADER_RESOURCE_VIEW_DESC_BUFFEREX struct {
	SHADER_RESOURCE_VIEW_DESC
	Buffer BUFFEREX_SRV
}

type SHADER_RESOURCE_VIEW_DESC_TEX2D

type SHADER_RESOURCE_VIEW_DESC_TEX2D struct {
	SHADER_RESOURCE_VIEW_DESC
	Texture2D TEX2D_SRV
}

type SUBRESOURCE_DATA

type SUBRESOURCE_DATA struct {
	// contains filtered or unexported fields
}

type SamplerState

type SamplerState struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type ShaderResourceView

type ShaderResourceView struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type TEX2D_DSV

type TEX2D_DSV struct {
	MipSlice uint32
}

type TEX2D_SRV

type TEX2D_SRV struct {
	MostDetailedMip uint32
	MipLevels       uint32
}

type TEX2D_UAV

type TEX2D_UAV struct {
	MipSlice uint32
}

type TEXTURE2D_DESC

type TEXTURE2D_DESC struct {
	Width          uint32
	Height         uint32
	MipLevels      uint32
	ArraySize      uint32
	Format         uint32
	SampleDesc     DXGI_SAMPLE_DESC
	Usage          uint32
	BindFlags      uint32
	CPUAccessFlags uint32
	MiscFlags      uint32
}

type Texture2D

type Texture2D struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type UNORDERED_ACCESS_VIEW_DESC

type UNORDERED_ACCESS_VIEW_DESC struct {
	Format        uint32
	ViewDimension uint32
}

type UNORDERED_ACCESS_VIEW_DESC_BUFFER

type UNORDERED_ACCESS_VIEW_DESC_BUFFER struct {
	UNORDERED_ACCESS_VIEW_DESC
	Buffer BUFFER_UAV
}

type UNORDERED_ACCESS_VIEW_DESC_TEX2D

type UNORDERED_ACCESS_VIEW_DESC_TEX2D struct {
	UNORDERED_ACCESS_VIEW_DESC
	Texture2D TEX2D_UAV
}

type UnorderedAccessView

type UnorderedAccessView struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

type VIEWPORT

type VIEWPORT struct {
	TopLeftX float32
	TopLeftY float32
	Width    float32
	Height   float32
	MinDepth float32
	MaxDepth float32
}

type VertexShader

type VertexShader struct {
	Vtbl *struct {
		// contains filtered or unexported fields
	}
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL