VulkanRaytracingCycles 0.0.0
Cycles Render Engine With VulkanRaytracingShaderModules. ( Experiment , in progress)
QueueGTVk Struct Reference

#include <Context1Vk.h>

Classes

struct  Size
 

Public Member Functions

bool createInfo (std::vector< VkDeviceQueueCreateInfo > &vkQCI, std::vector< VkQueueFamilyProperties > &vkQFP)
 
void getQ (VkDevice logical)
 

Public Attributes

uint32_t index [2]
 G 3 T 1 C 4. More...
 
float priorG [8] = { 0.5f,0.9f,0.2f,0.8f, 0.3f, 0.3f , 0.3f,0.3f }
 
float priorT [1] = { 0.5f }
 
struct QueueGTVk::Size size = { 8,1 }
 
VkQueue queue
 
VkQueue queueVR
 
VkQueue queueOL
 
VkQueue queueTR
 
VkQueue queueIM
 
VkQueue queues [4]
 

Detailed Description

Definition at line 50 of file Context1Vk.h.

Member Function Documentation

◆ createInfo()

bool QueueGTVk::createInfo ( std::vector< VkDeviceQueueCreateInfo > &  vkQCI,
std::vector< VkQueueFamilyProperties > &  vkQFP 
)

STCG 15 STC 14 ST 12

Definition at line 56 of file Context1Vk.cpp.

56 {
57
61
62 UINT32 qid = 0;
63 for (auto& family : vkQFP)
64 {
65 if (family.queueFlags & VK_QUEUE_GRAPHICS_BIT) {
66 family.queueCount -= 8; break;
67 }
68 qid++;
69 }
70
71 index[0] = qid;
72
73 log_ctx(" Qvillage Graphycs x4 ID[%u] priority[ 0.5f,0.9f,0.2f,0.8f ,0.3fx4] \n", qid);
74
75 VkDeviceQueueCreateInfo queueInfo = {
76 .sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
77 .queueFamilyIndex = qid,
78 .queueCount = 8,
79 .pQueuePriorities = priorG
80 };
81
82 vkQCI.push_back(queueInfo);
83
84 qid = 0;
85 for (auto& family : vkQFP)
86 {
87 if (family.queueFlags == 12) {
88 family.queueCount -= 1; break;
89 }
90 qid++;
91 };
92
93 index[1] = qid;
94
95
96 log_ctx(" Qvillage Transfer x1 ID[%u] priority[ 0.5 ] \n", qid);
97
98
99 queueInfo = {
100 .sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
101 .queueFamilyIndex = qid,
102 .queueCount = 1,
103 .pQueuePriorities = &priorT[0]
104 };
105
106 vkQCI.push_back(queueInfo);
107
108
109
110
111
112
113 return true;
114};
#define log_ctx(...)
Definition: Context1Vk.h:37
float priorG[8]
Definition: Context1Vk.h:53
float priorT[1]
Definition: Context1Vk.h:54
uint32_t index[2]
G 3 T 1 C 4.
Definition: Context1Vk.h:52

◆ getQ()

void QueueGTVk::getQ ( VkDevice  logical)

Definition at line 115 of file Context1Vk.cpp.

115 {
116
117 vkGetDeviceQueue(logical, index[0], 0, &queue);
118 vkGetDeviceQueue(logical, index[0], 1, &queueVR);
119 vkGetDeviceQueue(logical, index[0], 2, &queueOL);
120 vkGetDeviceQueue(logical, index[0], 3, &queueIM);
121 vkGetDeviceQueue(logical, index[1], 0, &queueTR);
122 for(int i =0;i<4;i++)vkGetDeviceQueue(logical, index[0], i + 4, &queues[i]);
123 size = { 8,1 };
124
125 log_ctx(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Qvillage G0 %x G1 %x G2 %x G3 %x T0 %x <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n", queue,queueVR,queueOL, queueIM,queueTR);
126
127};
VkQueue queueTR
Definition: Context1Vk.h:63
VkQueue queueVR
Definition: Context1Vk.h:61
struct QueueGTVk::Size size
VkQueue queueOL
Definition: Context1Vk.h:62
VkQueue queue
Definition: Context1Vk.h:60
VkQueue queueIM
Definition: Context1Vk.h:64
VkQueue queues[4]
Definition: Context1Vk.h:65

Member Data Documentation

◆ index

uint32_t QueueGTVk::index[2]

G 3 T 1 C 4.

Definition at line 52 of file Context1Vk.h.

◆ priorG

float QueueGTVk::priorG[8] = { 0.5f,0.9f,0.2f,0.8f, 0.3f, 0.3f , 0.3f,0.3f }

Definition at line 53 of file Context1Vk.h.

◆ priorT

float QueueGTVk::priorT[1] = { 0.5f }

Definition at line 54 of file Context1Vk.h.

◆ queue

VkQueue QueueGTVk::queue

Definition at line 60 of file Context1Vk.h.

◆ queueIM

VkQueue QueueGTVk::queueIM

Definition at line 64 of file Context1Vk.h.

◆ queueOL

VkQueue QueueGTVk::queueOL

Definition at line 62 of file Context1Vk.h.

◆ queues

VkQueue QueueGTVk::queues[4]

Definition at line 65 of file Context1Vk.h.

◆ queueTR

VkQueue QueueGTVk::queueTR

Definition at line 63 of file Context1Vk.h.

◆ queueVR

VkQueue QueueGTVk::queueVR

Definition at line 61 of file Context1Vk.h.

◆ size

struct QueueGTVk::Size QueueGTVk::size = { 8,1 }

The documentation for this struct was generated from the following files: