Cleanup
This commit is contained in:
@@ -1471,13 +1471,13 @@ void kinc_g5_pipeline_compile(kinc_g5_pipeline_t *pipe) {
|
||||
case KINC_G5_VERTEX_DATA_F32_4X:
|
||||
vertexDesc[i].Format = DXGI_FORMAT_R32G32B32A32_FLOAT;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_U8_4X_NORM:
|
||||
vertexDesc[i].Format = DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_I16_2X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_I16_2X_NORM:
|
||||
vertexDesc[i].Format = DXGI_FORMAT_R16G16_SNORM;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_I16_4X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_I16_4X_NORM:
|
||||
vertexDesc[i].Format = DXGI_FORMAT_R16G16B16A16_SNORM;
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <X11/extensions/Xinerama.h>
|
||||
#include <X11/extensions/Xrandr.h>
|
||||
|
||||
#define MAXIMUM_WINDOWS 16
|
||||
#define MAXIMUM_WINDOWS 1
|
||||
#define MAXIMUM_DISPLAYS 16
|
||||
|
||||
struct kinc_x11_window {
|
||||
|
||||
@@ -842,13 +842,13 @@ void kinc_g5_pipeline_compile(kinc_g5_pipeline_t *pipeline) {
|
||||
case KINC_G5_VERTEX_DATA_F32_4X:
|
||||
vertexDescriptor.attributes[index].format = MTLVertexFormatFloat4;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_U8_4X_NORM:
|
||||
vertexDescriptor.attributes[index].format = MTLVertexFormatUChar4Normalized;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_I16_2X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_I16_2X_NORM:
|
||||
vertexDescriptor.attributes[index].format = MTLVertexFormatShort2Normalized;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_I16_4X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_I16_4X_NORM:
|
||||
vertexDescriptor.attributes[index].format = MTLVertexFormatShort4Normalized;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2651,13 +2651,13 @@ void kinc_g5_pipeline_compile(kinc_g5_pipeline_t *pipeline) {
|
||||
case KINC_G5_VERTEX_DATA_F32_4X:
|
||||
vi_attrs[attr].format = VK_FORMAT_R32G32B32A32_SFLOAT;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_U8_4X_NORM:
|
||||
vi_attrs[attr].format = VK_FORMAT_R8G8B8A8_UNORM;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_I16_2X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_I16_2X_NORM:
|
||||
vi_attrs[attr].format = VK_FORMAT_R16G16_SNORM;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_I16_4X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_I16_4X_NORM:
|
||||
vi_attrs[attr].format = VK_FORMAT_R16G16B16A16_SNORM;
|
||||
break;
|
||||
}
|
||||
@@ -3560,7 +3560,6 @@ void kinc_g5_texture_init_from_bytes(kinc_g5_texture_t *texture, void *data, int
|
||||
texture->impl.stage_depth = -1;
|
||||
texture->state = KINC_INTERNAL_RENDER_TARGET_STATE_TEXTURE;
|
||||
texture->framebuffer_index = -1;
|
||||
texture->impl.renderTarget = NULL;
|
||||
|
||||
const VkFormat tex_format = convert_image_format(format);
|
||||
VkFormatProperties props;
|
||||
@@ -3653,7 +3652,6 @@ void kinc_g5_texture_init(kinc_g5_texture_t *texture, int width, int height, kin
|
||||
texture->impl.stage_depth = -1;
|
||||
texture->state = KINC_INTERNAL_RENDER_TARGET_STATE_TEXTURE;
|
||||
texture->framebuffer_index = -1;
|
||||
texture->impl.renderTarget = NULL;
|
||||
|
||||
const VkFormat tex_format = convert_image_format(format);
|
||||
VkFormatProperties props;
|
||||
|
||||
@@ -288,13 +288,13 @@ void kinc_g5_pipeline_compile(kinc_g5_pipeline_t *pipe) {
|
||||
case KINC_G5_VERTEX_DATA_F32_4X:
|
||||
vaDesc[i].format = WGPUVertexFormat_Float32x4;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_U8_4X_NORM:
|
||||
vaDesc[i].format = WGPUVertexFormat_Unorm8x4;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_I16_2X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_I16_2X_NORM:
|
||||
vaDesc[i].format = WGPUVertexFormat_Snorm16x2;
|
||||
break;
|
||||
case KINC_G5_VERTEX_DATA_I16_4X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_I16_4X_NORM:
|
||||
vaDesc[i].format = WGPUVertexFormat_Snorm16x4;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1800,7 +1800,7 @@ typedef struct {
|
||||
|
||||
LRESULT WINAPI KoreWindowsMessageProcedure(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
#define MAXIMUM_WINDOWS 16
|
||||
#define MAXIMUM_WINDOWS 1
|
||||
static WindowData windows[MAXIMUM_WINDOWS] = {0};
|
||||
|
||||
const wchar_t *windowClassName = L"KoreWindow";
|
||||
|
||||
@@ -143,7 +143,7 @@ void draw_init(buffer_t *image_vert, buffer_t *image_frag, buffer_t *colored_ver
|
||||
kinc_g5_vertex_structure_init(&structure);
|
||||
kinc_g5_vertex_structure_add(&structure, "pos", KINC_G5_VERTEX_DATA_F32_3X);
|
||||
kinc_g5_vertex_structure_add(&structure, "tex", KINC_G5_VERTEX_DATA_F32_2X);
|
||||
kinc_g5_vertex_structure_add(&structure, "col", KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED);
|
||||
kinc_g5_vertex_structure_add(&structure, "col", KINC_G5_VERTEX_DATA_U8_4X_NORM);
|
||||
kinc_g5_pipeline_init(&image_pipeline);
|
||||
image_pipeline.input_layout = &structure;
|
||||
image_pipeline.vertex_shader = &image_vert_shader;
|
||||
@@ -181,7 +181,7 @@ void draw_init(buffer_t *image_vert, buffer_t *image_frag, buffer_t *colored_ver
|
||||
kinc_g5_vertex_structure_t structure;
|
||||
kinc_g5_vertex_structure_init(&structure);
|
||||
kinc_g5_vertex_structure_add(&structure, "pos", KINC_G5_VERTEX_DATA_F32_3X);
|
||||
kinc_g5_vertex_structure_add(&structure, "col", KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED);
|
||||
kinc_g5_vertex_structure_add(&structure, "col", KINC_G5_VERTEX_DATA_U8_4X_NORM);
|
||||
kinc_g5_pipeline_init(&colored_pipeline);
|
||||
colored_pipeline.input_layout = &structure;
|
||||
colored_pipeline.vertex_shader = &colored_vert_shader;
|
||||
@@ -232,7 +232,7 @@ void draw_init(buffer_t *image_vert, buffer_t *image_frag, buffer_t *colored_ver
|
||||
kinc_g5_vertex_structure_init(&structure);
|
||||
kinc_g5_vertex_structure_add(&structure, "pos", KINC_G5_VERTEX_DATA_F32_3X);
|
||||
kinc_g5_vertex_structure_add(&structure, "tex", KINC_G5_VERTEX_DATA_F32_2X);
|
||||
kinc_g5_vertex_structure_add(&structure, "col", KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED);
|
||||
kinc_g5_vertex_structure_add(&structure, "col", KINC_G5_VERTEX_DATA_U8_4X_NORM);
|
||||
|
||||
kinc_g5_pipeline_init(&text_pipeline);
|
||||
text_pipeline.input_layout = &structure;
|
||||
|
||||
+14
-7
@@ -144,9 +144,9 @@ typedef enum kinc_g5_vertex_data {
|
||||
KINC_G5_VERTEX_DATA_F32_2X = 1,
|
||||
KINC_G5_VERTEX_DATA_F32_3X = 2,
|
||||
KINC_G5_VERTEX_DATA_F32_4X = 3,
|
||||
KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED = 4,
|
||||
KINC_G5_VERTEX_DATA_I16_2X_NORMALIZED = 5,
|
||||
KINC_G5_VERTEX_DATA_I16_4X_NORMALIZED = 6,
|
||||
KINC_G5_VERTEX_DATA_U8_4X_NORM = 4,
|
||||
KINC_G5_VERTEX_DATA_I16_2X_NORM = 5,
|
||||
KINC_G5_VERTEX_DATA_I16_4X_NORM = 6,
|
||||
} kinc_g5_vertex_data_t;
|
||||
|
||||
typedef struct kinc_g5_vertex_element {
|
||||
@@ -161,7 +161,6 @@ typedef struct kinc_g5_vertex_structure {
|
||||
|
||||
static inline int kinc_g5_vertex_data_size(kinc_g5_vertex_data_t data) {
|
||||
switch (data) {
|
||||
default:
|
||||
case KINC_G5_VERTEX_DATA_F32_1X:
|
||||
return 1 * 4;
|
||||
case KINC_G5_VERTEX_DATA_F32_2X:
|
||||
@@ -170,15 +169,23 @@ static inline int kinc_g5_vertex_data_size(kinc_g5_vertex_data_t data) {
|
||||
return 3 * 4;
|
||||
case KINC_G5_VERTEX_DATA_F32_4X:
|
||||
return 4 * 4;
|
||||
case KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_U8_4X_NORM:
|
||||
return 4 * 1;
|
||||
case KINC_G5_VERTEX_DATA_I16_2X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_I16_2X_NORM:
|
||||
return 2 * 2;
|
||||
case KINC_G5_VERTEX_DATA_I16_4X_NORMALIZED:
|
||||
case KINC_G5_VERTEX_DATA_I16_4X_NORM:
|
||||
return 4 * 2;
|
||||
}
|
||||
}
|
||||
|
||||
static inline int kinc_g5_vertex_struct_size(kinc_g5_vertex_structure_t *s) {
|
||||
int size = 0;
|
||||
for (int i = 0; i < s->size; ++i) {
|
||||
size += kinc_g5_vertex_data_size(s->elements[i].data);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
void kinc_g5_vertex_structure_init(kinc_g5_vertex_structure_t *structure);
|
||||
void kinc_g5_vertex_structure_add(kinc_g5_vertex_structure_t *structure, const char *name, kinc_g5_vertex_data_t data);
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ function const_data_create_screen_aligned_data() {
|
||||
// Mandatory vertex data names and sizes
|
||||
let structure: kinc_g5_vertex_structure_t = g4_vertex_struct_create();
|
||||
g4_vertex_struct_add(structure, "pos", vertex_data_t.F32_2X);
|
||||
const_data_screen_aligned_vb = iron_g4_create_vertex_buffer(math_floor(data.length / math_floor(g4_vertex_struct_byte_size(structure) / 4)), structure, usage_t.STATIC);
|
||||
const_data_screen_aligned_vb = iron_g4_create_vertex_buffer(math_floor(data.length / math_floor(kinc_g5_vertex_struct_size(structure) / 4)), structure, usage_t.STATIC);
|
||||
let vertices: buffer_t = iron_g4_lock_vertex_buffer(const_data_screen_aligned_vb);
|
||||
for (let i: i32 = 0; i < math_floor((vertices.length) / 4); ++i) {
|
||||
buffer_set_f32(vertices, i * 4, data[i]);
|
||||
@@ -39,7 +39,7 @@ function const_data_create_skydome_data() {
|
||||
let structure: kinc_g5_vertex_structure_t = g4_vertex_struct_create();
|
||||
g4_vertex_struct_add(structure, "pos", vertex_data_t.F32_3X);
|
||||
g4_vertex_struct_add(structure, "nor", vertex_data_t.F32_3X);
|
||||
let struct_length: i32 = math_floor(g4_vertex_struct_byte_size(structure) / 4);
|
||||
let struct_length: i32 = math_floor(kinc_g5_vertex_struct_size(structure) / 4);
|
||||
const_data_skydome_vb = iron_g4_create_vertex_buffer(math_floor(_const_data_skydome_pos_count / 3), structure, usage_t.STATIC);
|
||||
let vertices: buffer_t = iron_g4_lock_vertex_buffer(const_data_skydome_vb);
|
||||
for (let i: i32 = 0; i < math_floor((vertices.length) / 4 / struct_length); ++i) {
|
||||
|
||||
@@ -580,39 +580,8 @@ function g4_vertex_struct_add(raw: kinc_g5_vertex_structure_t, name: string, dat
|
||||
raw.size++;
|
||||
}
|
||||
|
||||
function g4_vertex_struct_byte_size(raw: kinc_g5_vertex_structure_t): i32 {
|
||||
let byte_size: i32 = 0;
|
||||
for (let i: i32 = 0; i < raw.size; ++i) {
|
||||
let elem: kinc_g5_vertex_element_t = ADDRESS(ARRAY_ACCESS(raw.elements, i));
|
||||
byte_size += g4_vertex_struct_data_byte_size(elem.data);
|
||||
}
|
||||
return byte_size;
|
||||
}
|
||||
|
||||
function g4_vertex_struct_data_byte_size(data: vertex_data_t): i32 {
|
||||
if (data == vertex_data_t.F32_1X) {
|
||||
return 1 * 4;
|
||||
}
|
||||
if (data == vertex_data_t.F32_2X) {
|
||||
return 2 * 4;
|
||||
}
|
||||
if (data == vertex_data_t.F32_3X) {
|
||||
return 3 * 4;
|
||||
}
|
||||
if (data == vertex_data_t.F32_4X) {
|
||||
return 4 * 4;
|
||||
}
|
||||
if (data == vertex_data_t.U8_4X_NORM) {
|
||||
return 4 * 1;
|
||||
}
|
||||
if (data == vertex_data_t.I16_2X_NORM) {
|
||||
return 2 * 2;
|
||||
}
|
||||
if (data == vertex_data_t.I16_4X_NORM) {
|
||||
return 4 * 2;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
declare function kinc_g5_vertex_struct_size(s: kinc_g5_vertex_structure_t): i32;
|
||||
declare function kinc_g5_vertex_data_size(data: vertex_data_t);
|
||||
|
||||
declare type kinc_g5_pipeline_t = {
|
||||
input_layout?: any;
|
||||
|
||||
@@ -159,7 +159,7 @@ function util_mesh_swap_axis(a: i32, b: i32) {
|
||||
}
|
||||
|
||||
let g: mesh_data_t = o.data;
|
||||
let l: i32 = g4_vertex_struct_byte_size(g._.structure) / 2;
|
||||
let l: i32 = kinc_g5_vertex_struct_size(g._.structure) / 2;
|
||||
let vertices: buffer_t = iron_g4_lock_vertex_buffer(g._.vertex_buffer); // posnortex
|
||||
for (let i: i32 = 0; i < math_floor((vertices.length) / 2 / l); ++i) {
|
||||
buffer_set_i16(vertices, (i * l ) * 2, vas[0].values[i * 4 ]);
|
||||
@@ -184,7 +184,7 @@ function util_mesh_flip_normals() {
|
||||
let va0: i16_array_t = vas[0].values;
|
||||
let va1: i16_array_t = vas[1].values;
|
||||
let g: mesh_data_t = o.data;
|
||||
let l: i32 = g4_vertex_struct_byte_size(g._.structure) / 2;
|
||||
let l: i32 = kinc_g5_vertex_struct_size(g._.structure) / 2;
|
||||
let vertices: buffer_t = iron_g4_lock_vertex_buffer(g._.vertex_buffer); // posnortex
|
||||
for (let i: i32 = 0; i < math_floor((vertices.length) / 2 / l); ++i) {
|
||||
va0[i * 4 + 3] = -va0[i * 4 + 3];
|
||||
@@ -210,7 +210,7 @@ function util_mesh_calc_normals(smooth: bool = false) {
|
||||
for (let i: i32 = 0; i < objects.length; ++i) {
|
||||
let o: mesh_object_t = objects[i];
|
||||
let g: mesh_data_t = o.data;
|
||||
let l: i32 = g4_vertex_struct_byte_size(g._.structure) / 2;
|
||||
let l: i32 = kinc_g5_vertex_struct_size(g._.structure) / 2;
|
||||
let inda: u32_array_t = g._.indices[0];
|
||||
let vertices: buffer_t = iron_g4_lock_vertex_buffer(g._.vertex_buffer); // posnortex
|
||||
for (let i: i32 = 0; i < math_floor(inda.length / 3); ++i) {
|
||||
@@ -370,7 +370,7 @@ function util_mesh_to_origin() {
|
||||
va[i * 4 + 2] = math_floor((va[i * 4 + 2] * sc - dz) / max_scale * 32767);
|
||||
}
|
||||
|
||||
let l: i32 = g4_vertex_struct_byte_size(g._.structure) / 2;
|
||||
let l: i32 = kinc_g5_vertex_struct_size(g._.structure) / 2;
|
||||
let vertices: buffer_t = iron_g4_lock_vertex_buffer(g._.vertex_buffer); // posnortex
|
||||
for (let i: i32 = 0; i < math_floor((vertices.length) / 2 / l); ++i) {
|
||||
buffer_set_i16(vertices, (i * l ) * 2, va[i * 4 ]);
|
||||
@@ -388,7 +388,7 @@ function util_mesh_apply_displacement(texpaint_pack: kinc_g5_texture_t, strength
|
||||
let res: i32 = texpaint_pack.width;
|
||||
let o: mesh_object_t = project_paint_objects[0];
|
||||
let g: mesh_data_t = o.data;
|
||||
let l: i32 = g4_vertex_struct_byte_size(g._.structure) / 2;
|
||||
let l: i32 = kinc_g5_vertex_struct_size(g._.structure) / 2;
|
||||
let vertices: buffer_t = iron_g4_lock_vertex_buffer(g._.vertex_buffer); // posnortex
|
||||
for (let i: i32 = 0; i < math_floor((vertices.length) / 2 / l); ++i) {
|
||||
let x: i32 = math_floor(buffer_get_i16(vertices, (i * l + 6) * 2) / 32767 * res);
|
||||
|
||||
@@ -463,7 +463,7 @@ function util_render_create_screen_aligned_full_data() {
|
||||
g4_vertex_struct_add(structure, "nor", vertex_data_t.I16_2X_NORM);
|
||||
g4_vertex_struct_add(structure, "tex", vertex_data_t.I16_2X_NORM);
|
||||
g4_vertex_struct_add(structure, "col", vertex_data_t.I16_4X_NORM);
|
||||
util_render_screen_aligned_full_vb = iron_g4_create_vertex_buffer(math_floor(data.length / math_floor(g4_vertex_struct_byte_size(structure) / 2)), structure, usage_t.STATIC);
|
||||
util_render_screen_aligned_full_vb = iron_g4_create_vertex_buffer(math_floor(data.length / math_floor(kinc_g5_vertex_struct_size(structure) / 2)), structure, usage_t.STATIC);
|
||||
let vertices: buffer_t = iron_g4_lock_vertex_buffer(util_render_screen_aligned_full_vb);
|
||||
for (let i: i32 = 0; i < math_floor((vertices.length) / 2); ++i) {
|
||||
buffer_set_i16(vertices, i * 2, data[i]);
|
||||
|
||||
Reference in New Issue
Block a user