Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
8ae3a9b6
Commit
8ae3a9b6
authored
May 23, 2016
by
Henri Verbeet
Committed by
Alexandre Julliard
May 24, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Introduce a helper function to allocate arrays.
Signed-off-by:
Henri Verbeet
<
hverbeet@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
10e601ba
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
66 additions
and
78 deletions
+66
-78
arb_program_shader.c
dlls/wined3d/arb_program_shader.c
+2
-3
buffer.c
dlls/wined3d/buffer.c
+11
-12
context.c
dlls/wined3d/context.c
+8
-15
cs.c
dlls/wined3d/cs.c
+1
-2
device.c
dlls/wined3d/device.c
+4
-6
directx.c
dlls/wined3d/directx.c
+2
-2
glsl_shader.c
dlls/wined3d/glsl_shader.c
+3
-5
shader.c
dlls/wined3d/shader.c
+6
-7
state.c
dlls/wined3d/state.c
+1
-5
surface.c
dlls/wined3d/surface.c
+1
-1
swapchain.c
dlls/wined3d/swapchain.c
+8
-9
texture.c
dlls/wined3d/texture.c
+3
-2
utils.c
dlls/wined3d/utils.c
+1
-2
vertexdeclaration.c
dlls/wined3d/vertexdeclaration.c
+3
-4
volume.c
dlls/wined3d/volume.c
+1
-1
wined3d_main.c
dlls/wined3d/wined3d_main.c
+4
-2
wined3d_private.h
dlls/wined3d/wined3d_private.h
+7
-0
No files found.
dlls/wined3d/arb_program_shader.c
View file @
8ae3a9b6
...
...
@@ -3994,7 +3994,7 @@ static void clone_sig(struct wined3d_shader_signature *new, const struct wined3d
char
*
name
;
new
->
element_count
=
sig
->
element_count
;
new
->
elements
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
new
->
elements
)
*
new
->
element_count
);
new
->
elements
=
wined3d_calloc
(
new
->
element_count
,
sizeof
(
*
new
->
elements
)
);
for
(
i
=
0
;
i
<
sig
->
element_count
;
++
i
)
{
new
->
elements
[
i
]
=
sig
->
elements
[
i
];
...
...
@@ -5484,8 +5484,7 @@ static void record_instruction(struct list *list, const struct wined3d_shader_in
}
rec
->
ins
.
dst
=
dst_param
;
src_param
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
src_param
)
*
ins
->
src_count
);
if
(
!
src_param
)
if
(
!
(
src_param
=
wined3d_calloc
(
ins
->
src_count
,
sizeof
(
*
src_param
))))
goto
free
;
for
(
i
=
0
;
i
<
ins
->
src_count
;
++
i
)
{
...
...
dlls/wined3d/buffer.c
View file @
8ae3a9b6
...
...
@@ -211,7 +211,7 @@ fail:
buffer_clear_dirty_areas
(
This
);
}
static
BOOL
buffer_process_converted_attribute
(
struct
wined3d_buffer
*
This
,
static
BOOL
buffer_process_converted_attribute
(
struct
wined3d_buffer
*
buffer
,
const
enum
wined3d_buffer_conversion_type
conversion_type
,
const
struct
wined3d_stream_info_element
*
attrib
,
DWORD
*
stride_this_run
)
{
...
...
@@ -237,31 +237,30 @@ static BOOL buffer_process_converted_attribute(struct wined3d_buffer *This,
else
{
*
stride_this_run
=
attrib
->
stride
;
if
(
This
->
stride
!=
*
stride_this_run
)
if
(
buffer
->
stride
!=
*
stride_this_run
)
{
/* We rely that this happens only on the first converted attribute that is found,
* if at all. See above check
*/
TRACE
(
"Reconverting because converted attributes occur, and the stride changed
\n
"
);
This
->
stride
=
*
stride_this_run
;
HeapFree
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
This
->
conversion_map
);
This
->
conversion_map
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
*
This
->
conversion_map
)
*
This
->
stride
);
buffer
->
stride
=
*
stride_this_run
;
HeapFree
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
buffer
->
conversion_map
);
buffer
->
conversion_map
=
wined3d_calloc
(
buffer
->
stride
,
sizeof
(
*
buffer
->
conversion_map
));
ret
=
TRUE
;
}
}
data
=
((
DWORD_PTR
)
attrib
->
data
.
addr
)
%
This
->
stride
;
data
=
((
DWORD_PTR
)
attrib
->
data
.
addr
)
%
buffer
->
stride
;
attrib_size
=
attrib
->
format
->
component_count
*
attrib
->
format
->
component_size
;
for
(
i
=
0
;
i
<
attrib_size
;
++
i
)
{
DWORD_PTR
idx
=
(
data
+
i
)
%
This
->
stride
;
if
(
This
->
conversion_map
[
idx
]
!=
conversion_type
)
DWORD_PTR
idx
=
(
data
+
i
)
%
buffer
->
stride
;
if
(
buffer
->
conversion_map
[
idx
]
!=
conversion_type
)
{
TRACE
(
"Byte %l
d in vertex changed
\n
"
,
idx
);
TRACE
(
"
It was type %d, is %d now
\n
"
,
This
->
conversion_map
[
idx
],
conversion_type
);
TRACE
(
"Byte %l
u in vertex changed:
\n
"
,
idx
);
TRACE
(
"
It was type %#x, is %#x now.
\n
"
,
buffer
->
conversion_map
[
idx
],
conversion_type
);
ret
=
TRUE
;
This
->
conversion_map
[
idx
]
=
conversion_type
;
buffer
->
conversion_map
[
idx
]
=
conversion_type
;
}
}
...
...
dlls/wined3d/context.c
View file @
8ae3a9b6
...
...
@@ -1636,14 +1636,10 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
if
(
!
ret
)
return
NULL
;
ret
->
blit_targets
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
gl_info
->
limits
.
buffers
*
sizeof
(
*
ret
->
blit_targets
));
if
(
!
ret
->
blit_targets
)
if
(
!
(
ret
->
blit_targets
=
wined3d_calloc
(
gl_info
->
limits
.
buffers
,
sizeof
(
*
ret
->
blit_targets
))))
goto
out
;
ret
->
draw_buffers
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
gl_info
->
limits
.
buffers
*
sizeof
(
*
ret
->
draw_buffers
));
if
(
!
ret
->
draw_buffers
)
if
(
!
(
ret
->
draw_buffers
=
wined3d_calloc
(
gl_info
->
limits
.
buffers
,
sizeof
(
*
ret
->
draw_buffers
))))
goto
out
;
ret
->
fbo_key
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
...
...
@@ -1652,24 +1648,21 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
goto
out
;
ret
->
free_timestamp_query_size
=
4
;
ret
->
free_timestamp_queries
=
HeapAlloc
(
GetProcessHeap
(),
0
,
ret
->
free_timestamp_query_size
*
sizeof
(
*
ret
->
free_timestamp_queries
));
if
(
!
ret
->
free_timestamp_queries
)
if
(
!
(
ret
->
free_timestamp_queries
=
wined3d_calloc
(
ret
->
free_timestamp_query_size
,
sizeof
(
*
ret
->
free_timestamp_queries
))))
goto
out
;
list_init
(
&
ret
->
timestamp_queries
);
ret
->
free_occlusion_query_size
=
4
;
ret
->
free_occlusion_queries
=
HeapAlloc
(
GetProcessHeap
(),
0
,
ret
->
free_occlusion_query_size
*
sizeof
(
*
ret
->
free_occlusion_queries
));
if
(
!
ret
->
free_occlusion_queries
)
if
(
!
(
ret
->
free_occlusion_queries
=
wined3d_calloc
(
ret
->
free_occlusion_query_size
,
sizeof
(
*
ret
->
free_occlusion_queries
))))
goto
out
;
list_init
(
&
ret
->
occlusion_queries
);
ret
->
free_event_query_size
=
4
;
ret
->
free_event_queries
=
HeapAlloc
(
GetProcessHeap
(),
0
,
ret
->
free_event_query_size
*
sizeof
(
*
ret
->
free_event_queries
));
if
(
!
ret
->
free_event_queries
)
if
(
!
(
ret
->
free_event_queries
=
wined3d_calloc
(
ret
->
free_event_query_size
,
sizeof
(
*
ret
->
free_event_queries
))))
goto
out
;
list_init
(
&
ret
->
event_queries
);
...
...
dlls/wined3d/cs.c
View file @
8ae3a9b6
...
...
@@ -1128,8 +1128,7 @@ struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device)
if
(
!
(
cs
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
*
cs
))))
return
NULL
;
if
(
!
(
cs
->
fb
.
render_targets
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
*
cs
->
fb
.
render_targets
)
*
gl_info
->
limits
.
buffers
)))
if
(
!
(
cs
->
fb
.
render_targets
=
wined3d_calloc
(
gl_info
->
limits
.
buffers
,
sizeof
(
*
cs
->
fb
.
render_targets
))))
{
HeapFree
(
GetProcessHeap
(),
0
,
cs
);
return
NULL
;
...
...
dlls/wined3d/device.c
View file @
8ae3a9b6
...
...
@@ -1005,8 +1005,8 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device,
if
(
device
->
wined3d
->
flags
&
WINED3D_NO3D
)
return
WINED3DERR_INVALIDCALL
;
device
->
fb
.
render_targets
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
*
device
->
fb
.
render_targets
)
*
gl_info
->
limits
.
buffers
)
;
if
(
!
(
device
->
fb
.
render_targets
=
wined3d_calloc
(
gl_info
->
limits
.
buffers
,
sizeof
(
*
device
->
fb
.
render_targets
))))
return
E_OUTOFMEMORY
;
if
(
FAILED
(
hr
=
device
->
shader_backend
->
shader_alloc_private
(
device
,
device
->
adapter
->
vertex_pipe
,
device
->
adapter
->
fragment_pipe
)))
...
...
@@ -1047,8 +1047,7 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device,
}
device
->
swapchain_count
=
1
;
device
->
swapchains
=
HeapAlloc
(
GetProcessHeap
(),
0
,
device
->
swapchain_count
*
sizeof
(
*
device
->
swapchains
));
if
(
!
device
->
swapchains
)
if
(
!
(
device
->
swapchains
=
wined3d_calloc
(
device
->
swapchain_count
,
sizeof
(
*
device
->
swapchains
))))
{
ERR
(
"Out of memory!
\n
"
);
goto
err_out
;
...
...
@@ -1116,8 +1115,7 @@ HRESULT CDECL wined3d_device_init_gdi(struct wined3d_device *device,
}
device
->
swapchain_count
=
1
;
device
->
swapchains
=
HeapAlloc
(
GetProcessHeap
(),
0
,
device
->
swapchain_count
*
sizeof
(
*
device
->
swapchains
));
if
(
!
device
->
swapchains
)
if
(
!
(
device
->
swapchains
=
wined3d_calloc
(
device
->
swapchain_count
,
sizeof
(
*
device
->
swapchains
))))
{
ERR
(
"Out of memory!
\n
"
);
goto
err_out
;
...
...
dlls/wined3d/directx.c
View file @
8ae3a9b6
...
...
@@ -5846,7 +5846,7 @@ static void wined3d_adapter_init_fb_cfgs(struct wined3d_adapter *adapter, HDC dc
attribute
=
WGL_NUMBER_PIXEL_FORMATS_ARB
;
GL_EXTCALL
(
wglGetPixelFormatAttribivARB
(
dc
,
0
,
0
,
1
,
&
attribute
,
&
cfg_count
));
adapter
->
cfgs
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
cfg_count
*
sizeof
(
*
adapter
->
cfgs
));
adapter
->
cfgs
=
wined3d_calloc
(
cfg_count
,
sizeof
(
*
adapter
->
cfgs
));
attribs
[
attrib_count
++
]
=
WGL_RED_BITS_ARB
;
attribs
[
attrib_count
++
]
=
WGL_GREEN_BITS_ARB
;
attribs
[
attrib_count
++
]
=
WGL_BLUE_BITS_ARB
;
...
...
@@ -5911,7 +5911,7 @@ static void wined3d_adapter_init_fb_cfgs(struct wined3d_adapter *adapter, HDC dc
int
cfg_count
;
cfg_count
=
DescribePixelFormat
(
dc
,
0
,
0
,
0
);
adapter
->
cfgs
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
cfg_count
*
sizeof
(
*
adapter
->
cfgs
));
adapter
->
cfgs
=
wined3d_calloc
(
cfg_count
,
sizeof
(
*
adapter
->
cfgs
));
for
(
i
=
0
,
adapter
->
cfg_count
=
0
;
i
<
cfg_count
;
++
i
)
{
...
...
dlls/wined3d/glsl_shader.c
View file @
8ae3a9b6
...
...
@@ -442,8 +442,7 @@ static void shader_glsl_dump_program_source(const struct wined3d_gl_info *gl_inf
char
*
source
=
NULL
;
GL_EXTCALL
(
glGetProgramiv
(
program
,
GL_ATTACHED_SHADERS
,
&
shader_count
));
shaders
=
HeapAlloc
(
GetProcessHeap
(),
0
,
shader_count
*
sizeof
(
*
shaders
));
if
(
!
shaders
)
if
(
!
(
shaders
=
wined3d_calloc
(
shader_count
,
sizeof
(
*
shaders
))))
{
ERR
(
"Failed to allocate shader array memory.
\n
"
);
return
;
...
...
@@ -5217,7 +5216,7 @@ static void shader_glsl_setup_vs3_output(struct shader_glsl_priv *priv,
unsigned
int
i
,
j
;
char
reg_mask
[
6
];
set
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
*
set
)
*
max_varyings
);
set
=
wined3d_calloc
(
max_varyings
,
sizeof
(
*
set
)
);
for
(
i
=
0
;
i
<
input_signature
->
element_count
;
++
i
)
{
...
...
@@ -8234,8 +8233,7 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win
goto
fail
;
}
priv
->
stack
=
HeapAlloc
(
GetProcessHeap
(),
0
,
stack_size
*
sizeof
(
*
priv
->
stack
));
if
(
!
priv
->
stack
)
if
(
!
(
priv
->
stack
=
wined3d_calloc
(
stack_size
,
sizeof
(
*
priv
->
stack
))))
{
ERR
(
"Failed to allocate memory.
\n
"
);
goto
fail
;
...
...
dlls/wined3d/shader.c
View file @
8ae3a9b6
...
...
@@ -752,7 +752,7 @@ static void shader_record_sample(struct wined3d_shader_reg_maps *reg_maps,
if
(
!
map
->
size
)
{
if
(
!
(
entries
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
entries
)
*
4
)))
if
(
!
(
entries
=
wined3d_calloc
(
4
,
sizeof
(
*
entries
)
)))
{
ERR
(
"Failed to allocate sampler map entries.
\n
"
);
return
;
...
...
@@ -823,9 +823,8 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, const st
shader_set_limits
(
shader
);
reg_maps
->
constf
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
*
reg_maps
->
constf
)
*
((
min
(
shader
->
limits
->
constant_float
,
constf_size
)
+
31
)
/
32
));
if
(
!
reg_maps
->
constf
)
if
(
!
(
reg_maps
->
constf
=
wined3d_calloc
(((
min
(
shader
->
limits
->
constant_float
,
constf_size
)
+
31
)
/
32
),
sizeof
(
*
reg_maps
->
constf
))))
{
ERR
(
"Failed to allocate constant map memory.
\n
"
);
return
E_OUTOFMEMORY
;
...
...
@@ -1255,7 +1254,7 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, const st
struct
wined3d_shader_signature_element
*
e
;
unsigned
int
i
;
if
(
!
(
input_signature
->
elements
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
input_signature
->
elements
)
*
count
)))
if
(
!
(
input_signature
->
elements
=
wined3d_calloc
(
count
,
sizeof
(
*
input_signature
->
elements
)
)))
return
E_OUTOFMEMORY
;
input_signature
->
element_count
=
count
;
...
...
@@ -1281,7 +1280,7 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, const st
unsigned
int
count
=
wined3d_popcount
(
reg_maps
->
output_registers
);
struct
wined3d_shader_signature_element
*
e
;
if
(
!
(
output_signature
->
elements
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
output_signature
->
elements
)
*
count
)))
if
(
!
(
output_signature
->
elements
=
wined3d_calloc
(
count
,
sizeof
(
*
output_signature
->
elements
)
)))
return
E_OUTOFMEMORY
;
output_signature
->
element_count
=
count
;
...
...
@@ -2742,7 +2741,7 @@ static HRESULT shader_signature_copy(struct wined3d_shader_signature *dst,
ptr
=
*
signature_strings
;
dst
->
element_count
=
src
->
element_count
;
if
(
!
(
dst
->
elements
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
dst
->
elements
)
*
dst
->
element_count
)))
if
(
!
(
dst
->
elements
=
wined3d_calloc
(
dst
->
element_count
,
sizeof
(
*
dst
->
elements
)
)))
return
E_OUTOFMEMORY
;
for
(
i
=
0
;
i
<
src
->
element_count
;
++
i
)
...
...
dlls/wined3d/state.c
View file @
8ae3a9b6
...
...
@@ -5983,12 +5983,8 @@ HRESULT compile_state_table(struct StateEntry *StateTable, APPLYSTATEFUNC **dev_
break
;
case
1
:
StateTable
[
cur
[
i
].
state
].
apply
=
multistate_apply_2
;
dev_multistate_funcs
[
cur
[
i
].
state
]
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
**
dev_multistate_funcs
)
*
2
);
if
(
!
dev_multistate_funcs
[
cur
[
i
].
state
])
{
if
(
!
(
dev_multistate_funcs
[
cur
[
i
].
state
]
=
wined3d_calloc
(
2
,
sizeof
(
**
dev_multistate_funcs
))))
goto
out_of_mem
;
}
dev_multistate_funcs
[
cur
[
i
].
state
][
0
]
=
multistate_funcs
[
cur
[
i
].
state
][
0
];
dev_multistate_funcs
[
cur
[
i
].
state
][
1
]
=
multistate_funcs
[
cur
[
i
].
state
][
1
];
...
...
dlls/wined3d/surface.c
View file @
8ae3a9b6
...
...
@@ -790,7 +790,7 @@ static void surface_download_data(struct wined3d_surface *surface, const struct
WARN_
(
d3d_perf
)(
"Downloading all miplevel layers to get the surface data for a single sub-resource.
\n
"
);
if
(
!
(
temporary_mem
=
HeapAlloc
(
GetProcessHeap
(),
0
,
texture
->
layer_count
*
sub_resource
->
size
)))
if
(
!
(
temporary_mem
=
wined3d_calloc
(
texture
->
layer_count
,
sub_resource
->
size
)))
{
ERR
(
"Out of memory.
\n
"
);
return
;
...
...
dlls/wined3d/swapchain.c
View file @
8ae3a9b6
...
...
@@ -980,9 +980,8 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
if
(
swapchain
->
desc
.
backbuffer_count
>
0
)
{
swapchain
->
back_buffers
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
swapchain
->
back_buffers
)
*
swapchain
->
desc
.
backbuffer_count
);
if
(
!
swapchain
->
back_buffers
)
if
(
!
(
swapchain
->
back_buffers
=
wined3d_calloc
(
swapchain
->
desc
.
backbuffer_count
,
sizeof
(
*
swapchain
->
back_buffers
))))
{
ERR
(
"Failed to allocate backbuffer array memory.
\n
"
);
hr
=
E_OUTOFMEMORY
;
...
...
@@ -1113,7 +1112,7 @@ HRESULT CDECL wined3d_swapchain_create(struct wined3d_device *device, struct win
static
struct
wined3d_context
*
swapchain_create_context
(
struct
wined3d_swapchain
*
swapchain
)
{
struct
wined3d_context
**
newA
rray
;
struct
wined3d_context
**
ctx_a
rray
;
struct
wined3d_context
*
ctx
;
TRACE
(
"Creating a new context for swapchain %p, thread %u.
\n
"
,
swapchain
,
GetCurrentThreadId
());
...
...
@@ -1125,16 +1124,16 @@ static struct wined3d_context *swapchain_create_context(struct wined3d_swapchain
}
context_release
(
ctx
);
newArray
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
newArray
)
*
(
swapchain
->
num_contexts
+
1
));
if
(
!
newArray
)
{
if
(
!
(
ctx_array
=
wined3d_calloc
(
swapchain
->
num_contexts
+
1
,
sizeof
(
*
ctx_array
))))
{
ERR
(
"Out of memory when trying to allocate a new context array
\n
"
);
context_destroy
(
swapchain
->
device
,
ctx
);
return
NULL
;
}
memcpy
(
newArray
,
swapchain
->
context
,
sizeof
(
*
newA
rray
)
*
swapchain
->
num_contexts
);
memcpy
(
ctx_array
,
swapchain
->
context
,
sizeof
(
*
ctx_a
rray
)
*
swapchain
->
num_contexts
);
HeapFree
(
GetProcessHeap
(),
0
,
swapchain
->
context
);
newA
rray
[
swapchain
->
num_contexts
]
=
ctx
;
swapchain
->
context
=
newA
rray
;
ctx_a
rray
[
swapchain
->
num_contexts
]
=
ctx
;
swapchain
->
context
=
ctx_a
rray
;
swapchain
->
num_contexts
++
;
TRACE
(
"Returning context %p
\n
"
,
ctx
);
...
...
dlls/wined3d/texture.c
View file @
8ae3a9b6
...
...
@@ -1938,7 +1938,8 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
if
(
wined3d_texture_use_pbo
(
texture
,
gl_info
))
texture
->
resource
.
map_binding
=
WINED3D_LOCATION_BUFFER
;
if
(
!
(
surfaces
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
*
surfaces
)
*
level_count
*
layer_count
)))
if
(
level_count
>
~
(
SIZE_T
)
0
/
layer_count
||
!
(
surfaces
=
wined3d_calloc
(
level_count
*
layer_count
,
sizeof
(
*
surfaces
))))
{
wined3d_texture_cleanup
(
texture
);
return
E_OUTOFMEMORY
;
...
...
@@ -2205,7 +2206,7 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
texture
->
resource
.
map_binding
=
WINED3D_LOCATION_BUFFER
;
}
if
(
!
(
volumes
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
*
volumes
)
*
level_count
)))
if
(
!
(
volumes
=
wined3d_calloc
(
level_count
,
sizeof
(
*
volumes
)
)))
{
wined3d_texture_cleanup
(
texture
);
return
E_OUTOFMEMORY
;
...
...
dlls/wined3d/utils.c
View file @
8ae3a9b6
...
...
@@ -1580,8 +1580,7 @@ static BOOL init_format_base_info(struct wined3d_gl_info *gl_info)
unsigned
int
i
,
j
;
gl_info
->
format_count
=
WINED3D_FORMAT_COUNT
;
if
(
!
(
gl_info
->
formats
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
gl_info
->
format_count
*
sizeof
(
*
gl_info
->
formats
))))
if
(
!
(
gl_info
->
formats
=
wined3d_calloc
(
gl_info
->
format_count
,
sizeof
(
*
gl_info
->
formats
))))
{
ERR
(
"Failed to allocate memory.
\n
"
);
return
FALSE
;
...
...
dlls/wined3d/vertexdeclaration.c
View file @
8ae3a9b6
...
...
@@ -180,8 +180,7 @@ static HRESULT vertexdeclaration_init(struct wined3d_vertex_declaration *declara
declaration
->
parent
=
parent
;
declaration
->
parent_ops
=
parent_ops
;
declaration
->
device
=
device
;
declaration
->
elements
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
declaration
->
elements
)
*
element_count
);
if
(
!
declaration
->
elements
)
if
(
!
(
declaration
->
elements
=
wined3d_calloc
(
element_count
,
sizeof
(
*
declaration
->
elements
))))
{
ERR
(
"Failed to allocate elements memory.
\n
"
);
return
E_OUTOFMEMORY
;
...
...
@@ -339,8 +338,8 @@ static unsigned int convert_fvf_to_declaration(const struct wined3d_gl_info *gl_
has_psize
+
has_diffuse
+
has_specular
+
num_textures
;
state
.
gl_info
=
gl_info
;
state
.
elements
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
*
sizeof
(
*
state
.
elements
));
if
(
!
state
.
elements
)
return
~
0U
;
if
(
!
(
state
.
elements
=
wined3d_calloc
(
size
,
sizeof
(
*
state
.
elements
))))
return
~
0u
;
state
.
offset
=
0
;
state
.
idx
=
0
;
...
...
dlls/wined3d/volume.c
View file @
8ae3a9b6
...
...
@@ -62,7 +62,7 @@ void wined3d_volume_upload_data(struct wined3d_texture *texture, unsigned int su
wined3d_texture_get_pitch
(
texture
,
level
,
&
src_row_pitch
,
&
src_slice_pitch
);
converted_mem
=
HeapAlloc
(
GetProcessHeap
(),
0
,
dst_slice_pitch
*
dept
h
);
converted_mem
=
wined3d_calloc
(
depth
,
dst_slice_pitc
h
);
format
->
convert
(
data
->
addr
,
converted_mem
,
src_row_pitch
,
src_slice_pitch
,
dst_row_pitch
,
dst_slice_pitch
,
width
,
height
,
depth
);
mem
=
converted_mem
;
...
...
dlls/wined3d/wined3d_main.c
View file @
8ae3a9b6
...
...
@@ -452,8 +452,10 @@ BOOL wined3d_register_window(HWND window, struct wined3d_device *device)
unsigned
int
new_size
=
max
(
1
,
wndproc_table
.
size
*
2
);
struct
wined3d_wndproc
*
new_entries
;
if
(
!
wndproc_table
.
entries
)
new_entries
=
HeapAlloc
(
GetProcessHeap
(),
0
,
new_size
*
sizeof
(
*
new_entries
));
else
new_entries
=
HeapReAlloc
(
GetProcessHeap
(),
0
,
wndproc_table
.
entries
,
new_size
*
sizeof
(
*
new_entries
));
if
(
!
wndproc_table
.
entries
)
new_entries
=
wined3d_calloc
(
new_size
,
sizeof
(
*
new_entries
));
else
new_entries
=
HeapReAlloc
(
GetProcessHeap
(),
0
,
wndproc_table
.
entries
,
new_size
*
sizeof
(
*
new_entries
));
if
(
!
new_entries
)
{
...
...
dlls/wined3d/wined3d_private.h
View file @
8ae3a9b6
...
...
@@ -3533,6 +3533,13 @@ void wined3d_format_get_float_color_key(const struct wined3d_format *format,
const
struct
wined3d_color_key_conversion
*
wined3d_format_get_color_key_conversion
(
const
struct
wined3d_texture
*
texture
,
BOOL
need_alpha_ck
)
DECLSPEC_HIDDEN
;
static
inline
void
*
wined3d_calloc
(
SIZE_T
count
,
SIZE_T
size
)
{
if
(
count
>
~
(
SIZE_T
)
0
/
size
)
return
NULL
;
return
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
count
*
size
);
}
static
inline
BOOL
use_vs
(
const
struct
wined3d_state
*
state
)
{
/* Check state->vertex_declaration to allow this to be used before the
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment