# GstVulkanPhysicalDevice

A GstVulkanPhysicalDevice encapsulates a VkPhysicalDevice

## GstVulkanPhysicalDevice

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstVulkanPhysicalDevice

### Members

`parent` (GstObject) –

the parent GstObject

`instance` (GstVulkanInstance *) –

the parent GstVulkanInstance for this physical device

`device_index` (guint) –

the index into the physical device list in instance

`device` (VkPhysicalDevice) –

the vulkan physical device handle

`properties` (VkPhysicalDeviceProperties) –

retrieved physical device properties

`features` (VkPhysicalDeviceFeatures) –

retrieved physical device features

`memory_properties` (VkPhysicalDeviceMemoryProperties) –

retrieved physical device memory properties

`queue_family_props` (VkQueueFamilyProperties*) –

vulkan family properties

`n_queue_families` (guint32) –

number of elements in queue_family_props

`queue_family_ops` (GstVulkanQueueFamilyOps *) –

vulkan operations allowed per queue family

Since : 1.18

### Class structure

#### GstVulkanPhysicalDeviceClass

##### Fields

`parent_class` (GstObjectClass) –

the parent GstObjectClass

Since : 1.18

### GstVulkan.VulkanPhysicalDeviceClass

##### Attributes

`parent_class` (Gst.ObjectClass) –

the parent Gst.ObjectClass

Since : 1.18

### GstVulkan.VulkanPhysicalDeviceClass

##### Attributes

`parent_class` (Gst.ObjectClass) –

the parent Gst.ObjectClass

Since : 1.18

## GstVulkan.VulkanPhysicalDevice

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──GstVulkan.VulkanPhysicalDevice

### Members

`parent` (Gst.Object) –

the parent Gst.Object

`instance` (GstVulkan.VulkanInstance) –

the parent GstVulkan.VulkanInstance for this physical device

`device_index` (Number) –

the index into the physical device list in instance

`device` (Vulkan.PhysicalDevice) –

the vulkan physical device handle

`properties` (Vulkan.PhysicalDeviceProperties) –

retrieved physical device properties

`features` (Vulkan.PhysicalDeviceFeatures) –

retrieved physical device features

`memory_properties` (Vulkan.PhysicalDeviceMemoryProperties) –

retrieved physical device memory properties

`queue_family_props` (Vulkan.QueueFamilyProperties) –

vulkan family properties

`n_queue_families` (Number) –

number of elements in queue_family_props

`queue_family_ops` (GstVulkan.VulkanQueueFamilyOps) –

vulkan operations allowed per queue family

Since : 1.18

## GstVulkan.VulkanPhysicalDevice

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──GstVulkan.VulkanPhysicalDevice

### Members

`parent` (Gst.Object) –

the parent Gst.Object

`instance` (GstVulkan.VulkanInstance) –

the parent GstVulkan.VulkanInstance for this physical device

`device_index` (int) –

the index into the physical device list in instance

`device` (Vulkan.PhysicalDevice) –

the vulkan physical device handle

`properties` (Vulkan.PhysicalDeviceProperties) –

retrieved physical device properties

`features` (Vulkan.PhysicalDeviceFeatures) –

retrieved physical device features

`memory_properties` (Vulkan.PhysicalDeviceMemoryProperties) –

retrieved physical device memory properties

`queue_family_props` (Vulkan.QueueFamilyProperties) –

vulkan family properties

`n_queue_families` (int) –

number of elements in queue_family_props

`queue_family_ops` (GstVulkan.VulkanQueueFamilyOps) –

vulkan operations allowed per queue family

Since : 1.18

### Constructors

#### gst_vulkan_physical_device_new

    GstVulkanPhysicalDevice *
    gst_vulkan_physical_device_new (GstVulkanInstance * instance,
                                    guint device_index)

Parameters:

`instance` –

the parent GstVulkanInstance

`device_index` –
No description available
Returns ( [transfer: full]) –

a new GstVulkanPhysicalDevice

Since : 1.18

#### GstVulkan.VulkanPhysicalDevice.prototype.new

    function GstVulkan.VulkanPhysicalDevice.prototype.new(instance: GstVulkan.VulkanInstance, device_index: Number): {
        // javascript wrapper for 'gst_vulkan_physical_device_new'
    }

Parameters:

`instance` (GstVulkan.VulkanInstance) –

the parent GstVulkan.VulkanInstance

`device_index` (Number) –
No description available
Returns (GstVulkan.VulkanPhysicalDevice) –

a new GstVulkan.VulkanPhysicalDevice

Since : 1.18

#### GstVulkan.VulkanPhysicalDevice.new

    def GstVulkan.VulkanPhysicalDevice.new (instance, device_index):
        #python wrapper for 'gst_vulkan_physical_device_new'

Parameters:

`instance` (GstVulkan.VulkanInstance) –

the parent GstVulkan.VulkanInstance

`device_index` (int) –
No description available
Returns (GstVulkan.VulkanPhysicalDevice) –

a new GstVulkan.VulkanPhysicalDevice

Since : 1.18

### Methods

#### gst_vulkan_physical_device_get_extension_info

    gboolean
    gst_vulkan_physical_device_get_extension_info (GstVulkanPhysicalDevice * device,
                                                   const gchar* name,
                                                   guint32* spec_version)

Retrieves information about a device extension.

Will not find any extensions before gst_vulkan_instance_fill_info has been called.

Parameters:

`device` –

a GstVulkanPhysicalDevice

`name` –

the extension name to look for

`spec_version` ( [out][nullable]) –

return value for the exteion specification version

Returns –

whether extension name is available

Since : 1.18

#### GstVulkan.VulkanPhysicalDevice.prototype.get_extension_info

    function GstVulkan.VulkanPhysicalDevice.prototype.get_extension_info(name: String): {
        // javascript wrapper for 'gst_vulkan_physical_device_get_extension_info'
    }

Retrieves information about a device extension.

Will not find any extensions before GstVulkan.VulkanInstance.prototype.fill_info has been called.

Parameters:

`device` (GstVulkan.VulkanPhysicalDevice) –

a GstVulkan.VulkanPhysicalDevice

`name` (String) –

the extension name to look for

Returns a tuple made of:

(Number ) –

whether extension name is available

`spec_version` (Number ) –

whether extension name is available

Since : 1.18

#### GstVulkan.VulkanPhysicalDevice.get_extension_info

    def GstVulkan.VulkanPhysicalDevice.get_extension_info (self, name):
        #python wrapper for 'gst_vulkan_physical_device_get_extension_info'

Retrieves information about a device extension.

Will not find any extensions before GstVulkan.VulkanInstance.fill_info has been called.

Parameters:

`device` (GstVulkan.VulkanPhysicalDevice) –

a GstVulkan.VulkanPhysicalDevice

`name` (str) –

the extension name to look for

Returns a tuple made of:

(bool ) –

whether extension name is available

`spec_version` (int ) –

whether extension name is available

Since : 1.18

#### gst_vulkan_physical_device_get_handle

    VkPhysicalDevice
    gst_vulkan_physical_device_get_handle (GstVulkanPhysicalDevice * device)

Parameters:

`device` –

a GstVulkanPhysicalDevice

Returns –

The associated `VkPhysicalDevice` handle

Since : 1.18

#### gst_vulkan_physical_device_get_instance

    GstVulkanInstance *
    gst_vulkan_physical_device_get_instance (GstVulkanPhysicalDevice * device)

Parameters:

`device` –

a GstVulkanPhysicalDevice

Returns ( [transfer: full]) –

The GstVulkanInstance associated with this physical device

Since : 1.18

#### GstVulkan.VulkanPhysicalDevice.prototype.get_instance

    function GstVulkan.VulkanPhysicalDevice.prototype.get_instance(): {
        // javascript wrapper for 'gst_vulkan_physical_device_get_instance'
    }

Parameters:

`device` (GstVulkan.VulkanPhysicalDevice) –

a GstVulkan.VulkanPhysicalDevice

Returns (GstVulkan.VulkanInstance) –

The GstVulkan.VulkanInstance associated with this physical device

Since : 1.18

#### GstVulkan.VulkanPhysicalDevice.get_instance

    def GstVulkan.VulkanPhysicalDevice.get_instance (self):
        #python wrapper for 'gst_vulkan_physical_device_get_instance'

Parameters:

`device` (GstVulkan.VulkanPhysicalDevice) –

a GstVulkan.VulkanPhysicalDevice

Returns (GstVulkan.VulkanInstance) –

The GstVulkan.VulkanInstance associated with this physical device

Since : 1.18

#### gst_vulkan_physical_device_get_layer_info

    gboolean
    gst_vulkan_physical_device_get_layer_info (GstVulkanPhysicalDevice * device,
                                               const gchar* name,
                                               gchar** description,
                                               guint32* spec_version,
                                               guint32* implementation_version)

Retrieves information about a layer.

Will not find any layers before gst_vulkan_instance_fill_info has been called.

Parameters:

`device` –

a GstVulkanPhysicalDevice

`name` –

the layer name to look for

`description` ( [out][nullable]) –

return value for the layer description or NULL

`spec_version` ( [out][nullable]) –

return value for the layer specification version

`implementation_version` ( [out][nullable]) –

return value for the layer implementation version

Returns –

whether layer name is available

Since : 1.18

#### GstVulkan.VulkanPhysicalDevice.prototype.get_layer_info

    function GstVulkan.VulkanPhysicalDevice.prototype.get_layer_info(name: String): {
        // javascript wrapper for 'gst_vulkan_physical_device_get_layer_info'
    }

Retrieves information about a layer.

Will not find any layers before GstVulkan.VulkanInstance.prototype.fill_info has been called.

Parameters:

`device` (GstVulkan.VulkanPhysicalDevice) –

a GstVulkan.VulkanPhysicalDevice

`name` (String) –

the layer name to look for

Returns a tuple made of:

(Number ) –

whether layer name is available

`description` (String ) –

whether layer name is available

`spec_version` (Number ) –

whether layer name is available

`implementation_version` (Number ) –

whether layer name is available

Since : 1.18

#### GstVulkan.VulkanPhysicalDevice.get_layer_info

    def GstVulkan.VulkanPhysicalDevice.get_layer_info (self, name):
        #python wrapper for 'gst_vulkan_physical_device_get_layer_info'

Retrieves information about a layer.

Will not find any layers before GstVulkan.VulkanInstance.fill_info has been called.

Parameters:

`device` (GstVulkan.VulkanPhysicalDevice) –

a GstVulkan.VulkanPhysicalDevice

`name` (str) –

the layer name to look for

Returns a tuple made of:

(bool ) –

whether layer name is available

`description` (str ) –

whether layer name is available

`spec_version` (int ) –

whether layer name is available

`implementation_version` (int ) –

whether layer name is available

Since : 1.18

### Functions

#### gst_vulkan_physical_device_type_to_string

    const gchar*
    gst_vulkan_physical_device_type_to_string (VkPhysicalDeviceType type)

Parameters:

`type` –

a `VkPhysicalDeviceType

Returns –

name of type

Since : 1.18

#### GstVulkan.VulkanPhysicalDevice.prototype.type_to_string

    function GstVulkan.VulkanPhysicalDevice.prototype.type_to_string(type: Vulkan.PhysicalDeviceType): {
        // javascript wrapper for 'gst_vulkan_physical_device_type_to_string'
    }

Parameters:

`type` (Vulkan.PhysicalDeviceType) –

a `VkPhysicalDeviceType

Returns (String) –

name of type

Since : 1.18

#### GstVulkan.VulkanPhysicalDevice.type_to_string

    def GstVulkan.VulkanPhysicalDevice.type_to_string (type):
        #python wrapper for 'gst_vulkan_physical_device_type_to_string'

Parameters:

`type` (Vulkan.PhysicalDeviceType) –

a `VkPhysicalDeviceType

Returns (str) –

name of type

Since : 1.18

### Properties

#### device-index

    “device-index” guint

Flags : Read / Write / Construct Only

#### device-index

    “device-index” Number

Flags : Read / Write / Construct Only

#### device_index

    “self.props.device_index” int

Flags : Read / Write / Construct Only

#### instance

    “instance” GstVulkanInstance *

Flags : Read / Write / Construct Only

#### instance

    “instance” GstVulkan.VulkanInstance

Flags : Read / Write / Construct Only

#### instance

    “self.props.instance” GstVulkan.VulkanInstance

Flags : Read / Write / Construct Only

#### name

    “name” gchar*

Flags : Read

#### name

    “name” String

Flags : Read

#### name

    “self.props.name” str

Flags : Read

## GstVulkanQueueFamilyOps

### Members

`video` (guint32) –

video operation supported by queue family

`query` (gboolean) –

if queue family supports queries

Since : 1.24

## GstVulkan.VulkanQueueFamilyOps

### Members

`video` (Number) –

video operation supported by queue family

`query` (Number) –

if queue family supports queries

Since : 1.24

## GstVulkan.VulkanQueueFamilyOps

### Members

`video` (int) –

video operation supported by queue family

`query` (bool) –

if queue family supports queries

Since : 1.24

The results of the search are