mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 16:58:40 -04:00
Merge remote-tracking branch 'origin/release/1.9.x'
This commit is contained in:
commit
6728e5ecbe
@ -1,3 +1,21 @@
|
||||
------------------------ RELEASE 1.9.3 ------------------------
|
||||
|
||||
This issue fixes several bugs that were still found in 1.9.2.
|
||||
|
||||
* Fix crash when running in Steam on Linux when using OpenAL
|
||||
* Fix crash using wx/tkinter on Mac as long as want-wx/tk is set
|
||||
* Fix loading models from 'models' package with models/ prefix
|
||||
* Fix random crashes in task system
|
||||
* Fix memory leaks in BulletTriangleMesh
|
||||
* Fix loading old models with MovingPart<LMatrix4f>
|
||||
* Improve performance of CPU vertex animation somewhat
|
||||
* Show framebuffer properties when fbprop request fails
|
||||
* Fix hang on exit when using Python task on threaded task chain
|
||||
* Fix inability to get RGBA renderbuffer in certain cases
|
||||
* Work around GLSL issue with #pragma and certain Intel drivers
|
||||
* Improve performance of texture load and store operations
|
||||
* Fix crashes with pbuffers on Intel cards on Windows
|
||||
|
||||
------------------------ RELEASE 1.9.2 ------------------------
|
||||
|
||||
This is a minor bugfix release, fixing a few minor issues that
|
||||
|
@ -597,6 +597,9 @@ remove_all_windows() {
|
||||
// And, hey, let's stop the vertex paging threads, if any.
|
||||
VertexDataPage::stop_threads();
|
||||
|
||||
// Stopping the tasks means we have to release the Python GIL while
|
||||
// this method runs (hence it is marked BLOCKING), so that any
|
||||
// Python tasks on other threads won't deadlock grabbing the GIL.
|
||||
AsyncTaskManager::get_global_ptr()->stop_threads();
|
||||
|
||||
#ifdef DO_PSTATS
|
||||
|
@ -53,7 +53,7 @@ class Texture;
|
||||
class EXPCL_PANDA_DISPLAY GraphicsEngine : public ReferenceCount {
|
||||
PUBLISHED:
|
||||
GraphicsEngine(Pipeline *pipeline = NULL);
|
||||
~GraphicsEngine();
|
||||
BLOCKING ~GraphicsEngine();
|
||||
|
||||
void set_threading_model(const GraphicsThreadingModel &threading_model);
|
||||
GraphicsThreadingModel get_threading_model() const;
|
||||
@ -94,7 +94,7 @@ PUBLISHED:
|
||||
|
||||
bool add_window(GraphicsOutput *window, int sort);
|
||||
bool remove_window(GraphicsOutput *window);
|
||||
void remove_all_windows();
|
||||
BLOCKING void remove_all_windows();
|
||||
void reset_all_windows(bool swapchain);
|
||||
|
||||
bool is_empty() const;
|
||||
|
@ -1625,11 +1625,11 @@ cg_compile_entry_point(const char *entry, const ShaderCaps &caps,
|
||||
compiler_args[nargs++] = "ATI_draw_buffers";
|
||||
}
|
||||
|
||||
char version_arg[16];
|
||||
string version_arg;
|
||||
if (!cg_glsl_version.empty() && active != CG_PROFILE_UNKNOWN &&
|
||||
cgGetProfileProperty((CGprofile) active, CG_IS_GLSL_PROFILE)) {
|
||||
|
||||
string version_arg("version=");
|
||||
version_arg = "version=";
|
||||
version_arg += cg_glsl_version;
|
||||
|
||||
compiler_args[nargs++] = "-po";
|
||||
|
@ -393,9 +393,8 @@ INLINE_LINMATH size_t FLOATNAME(LVecBase2)::
|
||||
add_hash(size_t hash) const {
|
||||
TAU_PROFILE("size_t LVecBase2::add_hash(size_t)", " ", TAU_USER);
|
||||
#ifdef FLOATTYPE_IS_INT
|
||||
int_hash ihasher;
|
||||
hash = ihasher.add_hash(hash, _v(0));
|
||||
hash = ihasher.add_hash(hash, _v(1));
|
||||
hash = int_hash::add_hash(hash, _v(0));
|
||||
hash = int_hash::add_hash(hash, _v(1));
|
||||
return hash;
|
||||
#else
|
||||
return add_hash(hash, NEARLY_ZERO(FLOATTYPE));
|
||||
|
@ -528,10 +528,9 @@ INLINE_LINMATH size_t FLOATNAME(LVecBase3)::
|
||||
add_hash(size_t hash) const {
|
||||
TAU_PROFILE("size_t LVecBase3::add_hash(size_t)", " ", TAU_USER);
|
||||
#ifdef FLOATTYPE_IS_INT
|
||||
int_hash ihasher;
|
||||
hash = ihasher.add_hash(hash, _v(0));
|
||||
hash = ihasher.add_hash(hash, _v(1));
|
||||
hash = ihasher.add_hash(hash, _v(2));
|
||||
hash = int_hash::add_hash(hash, _v(0));
|
||||
hash = int_hash::add_hash(hash, _v(1));
|
||||
hash = int_hash::add_hash(hash, _v(2));
|
||||
return hash;
|
||||
#else
|
||||
return add_hash(hash, NEARLY_ZERO(FLOATTYPE));
|
||||
|
@ -521,11 +521,10 @@ INLINE_LINMATH size_t FLOATNAME(LVecBase4)::
|
||||
add_hash(size_t hash) const {
|
||||
TAU_PROFILE("size_t LVecBase4::add_hash(size_t)", " ", TAU_USER);
|
||||
#ifdef FLOATTYPE_IS_INT
|
||||
int_hash ihasher;
|
||||
hash = ihasher.add_hash(hash, _v(0));
|
||||
hash = ihasher.add_hash(hash, _v(1));
|
||||
hash = ihasher.add_hash(hash, _v(2));
|
||||
hash = ihasher.add_hash(hash, _v(3));
|
||||
hash = int_hash::add_hash(hash, _v(0));
|
||||
hash = int_hash::add_hash(hash, _v(1));
|
||||
hash = int_hash::add_hash(hash, _v(2));
|
||||
hash = int_hash::add_hash(hash, _v(3));
|
||||
return hash;
|
||||
#else
|
||||
return add_hash(hash, NEARLY_ZERO(FLOATTYPE));
|
||||
|
@ -226,7 +226,7 @@ BMPreadinfoheader(
|
||||
* for the required total.
|
||||
*/
|
||||
if (classv != C_OS2) {
|
||||
for (int i = 0; i < cbFix - 16; i += 4) {
|
||||
for (int i = 0; i < (int)cbFix - 16; i += 4) {
|
||||
GetLong(fp);
|
||||
}
|
||||
}
|
||||
|
@ -649,10 +649,10 @@ writePackedRawRow(ostream * const fileP,
|
||||
const unsigned char * const packed_bits,
|
||||
int const cols) {
|
||||
|
||||
int bytesWritten;
|
||||
fileP->write((const char *)packed_bits, pbm_packed_bytes(cols));
|
||||
if (fileP->fail())
|
||||
if (fileP->fail()) {
|
||||
pm_error("I/O error writing packed row to raw PBM file.");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -40,7 +40,8 @@ get_context() const {
|
||||
context->AddReference();
|
||||
return py_context.ptr();
|
||||
|
||||
} catch (const python::error_already_set& e) {
|
||||
} catch (const python::error_already_set &e) {
|
||||
(void)e;
|
||||
// Return NULL, which will trigger the exception in Python
|
||||
}
|
||||
return NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user