Exemplo n.º 1
0
void init() {
	do_trace_events = false;
	do_async_events = false;
	do_counter_events = false;

	if (Cmdline_json_profiling) {
		traceEventWriter.reset(new ThreadedTraceEventWriter());
		do_trace_events = true;
		do_async_events = true;
		do_counter_events = true;
	}
	if (Cmdline_profile_write_file) {
		mainFrameTimer.reset(new ThreadedMainFrameTimer());
		do_async_events = true;
	}
	if (Cmdline_frame_profile) {
		frameProfiler.reset(new FrameProfiler());
		do_trace_events = true;
	}

	do_gpu_queries = gr_is_capable(CAPABILITY_TIMESTAMP_QUERY);

	if (do_gpu_queries) {
		gpu_start_query = get_gpu_timestamp_query();
	}
	cpu_start_time = timer_get_nanoseconds();

	main_thread_id = get_tid();

	initialized = true;
}
Exemplo n.º 2
0
void batching_add_distortion_beam(int texture, vec3d *start, vec3d *end, float width, float intensity, float offset)
{
    if (texture < 0) {
        Int3();
        return;
    }

    if ( !gr_is_capable(CAPABILITY_DISTORTION) ) {
        return;
    }

    primitive_batch *batch = batching_find_batch(texture, batch_info::DISTORTION, PRIM_TYPE_TRIS, true);

    color clr;
    batching_determine_blend_color(&clr, texture, intensity);

    batching_add_beam_internal(batch, start, end, width, &clr, offset);
}
Exemplo n.º 3
0
void batching_add_distortion_bitmap_rotated(int texture, vertex *pnt, float angle, float rad, float alpha, float depth)
{
    if (texture < 0) {
        Int3();
        return;
    }

    if ( !gr_is_capable(CAPABILITY_DISTORTION) ) {
        return;
    }

    primitive_batch *batch = batching_find_batch(texture, batch_info::DISTORTION);

    color clr;
    batching_determine_blend_color(&clr, texture, alpha);

    batching_add_bitmap_rotated_internal(batch, pnt, angle, rad, &clr, depth);
}
Exemplo n.º 4
0
void batching_add_volume_bitmap_rotated(int texture, vertex *pnt, float angle, float rad, float alpha, float depth)
{
    if ( texture < 0 ) {
        Int3();
        return;
    }

    primitive_batch *batch;

    if ( gr_is_capable(CAPABILITY_SOFT_PARTICLES) ) {
        batch = batching_find_batch(texture, batch_info::VOLUME_EMISSIVE);
    } else {
        batch = batching_find_batch(texture, batch_info::FLAT_EMISSIVE);
    }

    color clr;
    batching_determine_blend_color(&clr, texture, alpha);

    batching_add_bitmap_rotated_internal(batch, pnt, angle, rad, &clr, depth);
}
Exemplo n.º 5
0
int cap_netlink_recv(struct sk_buff *skb, int cap)
{
	if (!cap_raised(current_cap(), cap) || !gr_is_capable(cap))
		return -EPERM;
	return 0;
}